我是这么利用数据:萝卜青菜,各有所爱

通常,我们把想不明白的事情,用这句话表达,比如:前台的MM怎么会看上那个小子???哎,萝卜青菜

,各有所爱啊!

我喜欢反过来看事情:为什么不管吃萝卜还是青菜,都采用同一种端碗提筷子的手法,但是不同的人居然

还各自找到各自的满足?

让我们带着思考回到程序这个话题,程序是否可以满足这样的特性:总是那一套程序,但是在不同的场景

下,由于吃的“数据”不同,表现出不同的“口味”,让大家都满意?

好吧,这貌似有点难,让我们用一个小程序理理思路

1、你需要管理一批库存材料,材料方面,我们简单起见,只有价格这一个属性。

2、老板要求,需要知道所有材料价值多少,另外,单个材料大于100元的,属于贵重材料,挑出明细列出

来。

3、这难不倒你,三下五除二把程序做好了,运行了几天没问题。老板却说:我觉得大于500元也许才算贵

重,你改改吧!

4、改个数字并不难,你修改了代码程序继续运行。

5、。。。。。

哦, 稍等!让我们停一停,这个叙述太过于常规、太流畅了,我们回到更为一般的角度再看看:也就是说

老板下次改成1000元以上才算贵重,我们还得修改代码,或 许你要说:我很擅长改这个,木有问题!(我知

道你只改个数字,当然很自信!)但是永远不要忘了,我们极大的简化了问题,材料只有价格这唯一的属性,

真实的 情况下,逻辑和条件都会随着考虑因素的加入而呈指数级增长!

如果这个时候,你想到的是设计模式,说明你还在徘徊!如果你想到了配置文件,可以说:你终于开始体

会到一点点数据的好处了,有那么点意思了!让我们继续:

1、增加了配置文件,把某个昂贵标准,写入了配置文件,每次老板说要改,修改一个xml就行了!

2、程序运行了很久,老板是个变态,期间让你修改了好几百回这个价格!

让我们再停一停,这个叙述中,你发现:配置文件虽然把数据独立出来,却并没有解脱你,这很关键。

其实不是老板变态,而是这个问题放到你身上,你也不能一次把价格定下来,因为但凡是个比较意义上的

词汇(比如这里的“贵重”),都是没谱的!

我们需要从程序层面突破思维的障碍,那么障碍是什么呢?其实,人总是认为一个静态的概念一定是静态

的!正如这里的贵重,它一直在变,诚然在具体的某个时间点上它是个数字,但是它真的一直在变(我反复强

调它在变,你看到了么?)

来吧,我们继续

1、在软件上增加个人中心,让老板自己填一个数字,他说多少算昂贵,它就是昂贵!

2、这解决了很多问题,甚至老板关心1000元以上的,主管关心500元以上的,组长关心100元以上的,它们

各自独立配置,各自得到自己想要的结果!

我 们总结一下,原来是程序里的代码逻辑驱动软件,你写100它就按100执行(可不仅仅是筛选数据这么简

单哦,也许还涉及到分支判断,就能感受到一个数字的 大不同了!),但是现在呢?程序不变了,存储了用

户和阀值之间的配对数据,遇到什么样的人,就按什么样的数据驱动软件!

千万不要觉得填写个性化选项太正常了,要理解变化的产生是由于变化本身,变化的解决方案就是让软件

自由变化,这种思想蔓延开来就能拨开云雾见青天!

稍等一下,我稍微深入的再啰嗦几句。通常,我们的系统不会简单到只有价格这一个维度的,那么错综复

杂的数据和条件,老板怎么可能配置的过来?

还是那句话,人总是认为一个静态的概念一定是静态的!正如这里的软件,它一直在变,诚然在具体的某

个时间点上它是具体存在的,但是它真的一直随着数据而随时随地的变化。

1、可能刚开始时你没有筛选出昂贵的功能,只有一个按价格倒序分页的功能。

2、随着老板的使用,你发现他只看到第3页,而第3页大约就是500元的标准,于是,对他来说关心的

“昂贵”就是500为标准。

3、随着他的继续使用,可能慢慢只看第一页了,而第一页是1000元的标准,于是,整个程序对他来说,很

自然的切换到1000为标准。

4、这是一个从行为到数据积累,潜移默化的过程!千万记住,软件由数据驱动,数据无时无刻不在变化,

软件不是一个静态的概念!

5、于是,无论数据多么复杂都是和整个系统相辅相成的,来的很自然,用的也会很自然!

最后,我想说一说类似“哲学”上的事情:任何事件的发生都是有原因的,一只小小的蝴蝶,

可以引发蝴蝶效应!所以,牢牢的把握住数据,利用它们驱动软件,利用它们的变化提升软件。因为业务的变

化早就在数据上反应出来,而软件由数据驱动,你甚至根本不用修改软件。

试试吧,又不会怀孕。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

时间: 2024-09-20 00:00:52

我是这么利用数据:萝卜青菜,各有所爱的相关文章

我是这么利用数据:业务闹钟

每天起床都依赖闹钟的我,对闹钟其实又爱又恨. 有一天,我突发奇想,我们的业务不就是类似于时间,一刻不停的往前推进,那些我们要做的事,不就像 闹钟,在关键的时间点(可指定),给予我们提醒,叫停我们去做某些事情(复习下英语语法 :stop to do something) 抱着试一试的态度,我自己写代码开发了一个类似闹钟的页面(当初的页面面目全非了,画示意图咯) 填个时间,写段话,然后到了那个时间,服务器就把这段话发送给你 后来我考虑,怎么发送呢,可选择的有以下几种 1.email 这个比较传统,而

我是这么利用数据:快到碗里来

数据分析的一项基本的前提是:你得有数据可以分析 所以有某些所谓的数据挖掘专家趾高气昂的说:数据挖掘的绝大数工作是在清洗数据! 都是些不食人间烟火的吃货,哪里来的现成的数据让他们清洗,实际的工作中我总是一次次的发现:获得 数据是最难的部分 其实获取数据的方式无非两种 1.从别的什么系统中获取现成的历史数据 2.从自己的系统中让用户录入数据 今天我想分享下我在第2点上的一点小小经验 首先,用户是最TMD烦某某系统的,需要他们付诸大量的配合,最后功劳还是做系统的人的,自己捞不着好 处不说,还为了习惯新

我是这么利用数据:对需求说不

我常常鼓励我的程序员对需求说不,我想和大家分享一些在这方面的经验 首先,人是很奇怪的动物,对于容易获得的东西,往往不够珍惜,特别是像程序这样的虚拟的东东,更是 对"免费"获得的程序不用正眼瞧一瞧,通常没有评价,或者评价为:也就那样吧. 这是我们每一位开发者不愿看到的,所以,我对任何需求都说不! 不是我不尊重用户,其实我想做的更好,我认为冒然的提出需求的人,其实不知道自己要什么!但是他们 总是以为自己知道自己不要什么,以至于原样按着需要做出来的软件会被认为并不是需要的,而世界上没有一 样

我是这么利用数据:KFC之所以在中国

几年前在苏州工作,偶尔有些短途的外出公干,虽说是短途,但到了陌生的城镇就面临一个很严峻的问题 :中午吃什么? 当发现自己常常选择KFC这样的餐厅时,仿佛悟出了点道理,虽然中式菜肴口味多样,但那些不熟悉的小饭 店带给我的,更多的是一种未知,兴许我选择的那家非常不错,但是我始终不敢确定.相反的,KFC则不一样 ,闭着眼睛都知道里面是卖汉堡的,而且那些汉堡是什么口味也基本上知道,虽不是很钟情于此,但至少不会 让我太失望,况且,吃饭这种事情,弄些难吃的菜倒了胃口,是很难补救的,每个吃货都懂的! 于是,标

我是这么利用数据:鱼和熊掌

刚刚开始参与编程的时候,就听说过这么一个段子:某程序员病危,久久昏迷不醒,各种药物治疗,均告 无效.家人百般焦急之时,有位同事来看望他,只是轻轻说了一句:"尼玛,需求又变啦!"该程 序员立马被吓醒了! 我们不止一次感叹:需求猛于虎,改需求则猛于母老虎!于是这些年软件行业发展了无数的技术,用以抵 御这样或那样的变化,了解其中一些确实对编写程序有帮助,但现实却冷冷的告诉每一个经历过的人:那些都 是治标不治本的玩意儿,照样忙的跟某人类的朋友一样!不过,世界上居然还存在着一些锦囊妙计,今天我和

我是这么利用数据:公共汽车的故事

自从买了车之后很少坐公交车了,不过对公交车的感悟由来已久,这些个每天奔驰在城市的各条道路上的 大家伙,年复一年,日复一日,没有明确的说要去载谁上路,但不影响他们总是按时按点从起点出发,顺顺利 利的到达终点.今天和大家分享一点点关于公交车和软件开发. "谁坐公交啊!"一般的人心里都这么想,但凡出去办事,公司只要报销路费,一律出租车走 起.但是每当自己掏腰包时,他们往往会转而选择1元钱可以坐10公里的公交车!这是怎么样的一种心理? 我们不是要批判谁,让我们理理思路,继续讨论.就单纯的问:这

我是这么利用数据:堵车的故事

南京城内房价太高了,断然不是我等上班族消费的起的,所以,我选择了在城外的小县城定居.顺带买了 台车,每天驱车数十公里来单位上班,正值今天南京下雨,路面湿滑,国道上渣土车龟速移动,外加多台重量 级"选车"横排占满路面,我无奈的被堵在路上超车不得,本来一个小时的车程,被我开出了一个 半小时以上,险些迟到. 有时候,我总是把这些琐碎的事情和工作联系起来,想想我的软件,人们总是把相似的工作看做等价,既 然等价那么花费的时间和代价也理应相同,随着这种思想蔓延开来,我们发现客户总能找到一些类似软件

我是这么利用数据:1篮子鸡蛋

一篮子鸡蛋放在你面前,让你挑几个带回去吃,你会怎么办?我想大致会这样:也不能说全拿走,这样不 好,也就看看里面哪几个个头大一些,然后挑那几个!今天想和大家分享一点点,由挑选引出的数据驱动的含 义! 说点题外话,可能"数据驱动"这个说法并不是我提出的,但是这四个字真的很贴切,很符合 我的思路,准备长期的使用,不过,问题是真的很难解释它是什么,尝试过很多角度来解释它,都还没有说清 楚,当然了,这给了我一次又一次反思的机会,倒也不错!今天这个话题也是继续拿鸡蛋的例子来谈数据驱动 ,可能是你的

我是这么利用数据:和陌生人说话

一个团队有机会去自主的选择一个项目,通常是一件不错的事儿,如果你有这样的机会,我建议首先考虑 做数据集成类型的项目,这在未来的企业中也许就是"明日之星"! 想想我们生活的大自然,最可怕的是什么?我想很多人会联想到荒凉,想到漫无边际的沙漠.茫茫大海上 的孤岛.想想我们身处的社会,最可怕的场景是什么?很多人会联想到冷漠,想到人与人之间的尔虞我诈.冷 眼相对.尽管我们对此感觉不适,但我们却能接受企业信息环境中存在多个系统,它们彼此孤立,互不来往, 就恰恰像极了海上的孤岛,彼此独立的存在,可惜