数据加载中……
[转] 设计其实是一种病
软件设计的学问很深,学一点可以开拓思路,学透了可以成为专家,而学得半透不透的时候,感觉就会像一种病,一种“设计病”。
 
得了“设计病”的程序员干活很慢。你看那些刚毕业的年轻同志,拿到任务后立刻打开开发工具,又是点又是敲的,一会儿就能看到界面,程序功能一个一个地不断被实现,速度快的很。得了“设计病”的程序员就不能这样。拿到任务后左思右想,总觉得这样也行,那样也不错,一个小程序他能想出几百种方法来,光权衡就得半天。写程序通常也不从界面开始做,闷着头在键盘上狂按了好久,程序还是不能运行,搞得项目经理直冒汗。
 
“设计病”的程序员写的程序,写着费劲,看起来劳神。通常别人写一个函数的,“设计病”人非要写成好几个。使用面向对象开发语言的更是如此。“设计病”人写的程序里,类特别多。人家用两三个类就可以实现的功能,“设计病”人要用五六个类,甚至更多。还弄一些个类,一堆虚函数,一个成员变量也没有。稍大一点的程序就有几十上百的类挤在一起,关系也很复杂,一般人还真看不懂。
 
和“设计病”人讨论问题也不容易。通常大家都在谈这是个什么功能,某个功能怎么样才能实现,而“设计病”人常常不讨论这个,嘴上总挂着什么“复用”、“耦合”、“模式”等一类莫名其妙的词汇。就算“设计病”人在讨论功能的时候,听起来也和程序的实际功能相差很远。比如当大家在讨论使用多线程实现的时候,他就讨论线程管理类的接口;当大家讨论发送数据要缓冲的时候,“设计病”人却在研究如何实现一个快速的数据队列。
 
事实上“设计病”人自己也很痛苦。他们对现有的方案总是不满意,甚至昨天他自己写的方案,今天再看时也觉得不满。自己费尽心机设计出来的可复用的类,却从来都没有被复用过。自己好不容易设计出的松耦合的模块结构,在增加新功能时,却不得不在很多层次的类上做修改。
 
“设计病”也很难治好。“设计病”人总是不由自主地做设计,不愿意用直接的方式实现程序,总想把程序一点点剥开、分解。怎么劝都不会有用。他们相信迟早有一天自己的设计会发挥作用。
 
“设计病”人写出过很多烂程序。要么设计失败,考虑不周,程序结构有问题,要么过度设计,简单的功能,大堆的类,还不如不做设计。
 
不由自主地去设计,努力去写出烂程序,不是一种病又是什么?
 
如果您觉得也得了“设计病”了,也别太着急,办法有一个,就是继续“病”下去,努力做设计。直到有一天,能平衡完美和实用了,这病也就好了。
作者:苏林

posted on 2009-02-07 17:30 桃花源 阅读(1132) 评论(3)  编辑  收藏

评论

# re: [转] 设计其实是一种病 2009-02-07 20:06 sunnycare

哈哈。我也是病人。
还好病的不重
  回复  更多评论    

# re: [转] 设计其实是一种病 2009-02-09 10:29 lx281

怎么觉得自己也得病了呢,和楼上共勉 :D
  回复  更多评论    

# re: [转] 设计其实是一种病 2014-07-29 22:06 dohkoos

好文章!!!通俗地讲就是遇到“瓶颈”了。跨过去了海阔天空,跨不过去咫尺天涯。
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航: