(过度)设计其实是一种病

软件设计的学问很深,学一点可以开拓思路,学透了可以成为专家,而学得半透不透的时候,感觉就会像一种病,一种“设计病”。

得了“设计病”的程序员干活很慢。你看那些刚毕业的年轻同志,拿到任务后立刻打开开发工具,又是点又是敲的,一会儿就能看到界面,程序功能一个一个地不断被实现,速度快的很。得了“设计病”的程序员就不能这样。拿到任务后左思右想,总觉得这样也行,那样也不错,一个小程序他能想出几百种方法来,光权衡就得半天。写程序通常也不从界面开始做,闷着头在键盘上狂按了好久,程序还是不能运行,搞得项目经理直冒汗。

“设计病”的程序员写的程序,写着费劲,看起来劳神。通常别人写一个函数的,“设计病”人非要写成好几个。使用面向对象开发语言的更是如此。“设计病”人写的程序里,类特别多。人家用两三个类就可以实现的功能,“设计病”人要用五六个类,甚至更多。还弄一些个类,一堆虚函数,一个成员变量也没有。稍大一点的程序就有几十上百的类挤在一起,关系也很复杂,一般人还真看不懂。

和“设计病”人讨论问题也不容易。通常大家都在谈这是个什么功能,某个功能怎么样才能实现,而“设计病”人常常不讨论这个,嘴上总挂着什么“复用”、“耦合”、“模式”等一类莫名其妙的词汇。就算“设计病”人在讨论功能的时候,听起来也和程序的实际功能相差很远。比如当大家在讨论使用多线程实现的时候,他就讨论线程管理类的接口;当大家讨论发送数据要缓冲的时候,“设计病”人却在研究如何实现一个快速的数据队列。

事实上“设计病”人自己也很痛苦。他们对现有的方案总是不满意,甚至昨天他自己写的方案,今天再看时也觉得不满。自己费尽心机设计出来的可复用的类,却从来都没有被复用过。自己好不容易设计出的松耦合的模块结构,在增加新功能时,却不得不在很多层次的类上做修改。

“设计病”也很难治好。“设计病”人总是不由自主地做设计,不愿意用直接的方式实现程序,总想把程序一点点剥开、分解。怎么劝都不会有用。他们相信迟早有一天自己的设计会发挥作用。

“设计病”人写出过很多烂程序。要么设计失败,考虑不周,程序结构有问题,要么过度设计,简单的功能,大堆的类,还不如不做设计。

不由自主地去设计,努力去写出烂程序,不是一种病又是什么?

如果您觉得也得了“设计病”了,也别太着急,办法有一个,就是继续“病”下去,努力做设计。直到有一天,能平衡完美和实用了,这病也就好了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值