下面是我的个人经验:
1)设计的人力成本过高。
例如开发一个团队内部使用的软件。该软件只需要在项目持续的6个月内进行使用。但是开发人员从界面到性能,从功能耐迟裂到安全性全方面的设计。最终导致该软件的开发消耗了3个月的时间。这时,不如用半个月的时间开发一个界面常简陋,甚至偶尔会崩溃的小程序。
2)设计的功能使用率很低。
例如开发一个P2P下载软件。该软件主要是提供下载的功能。但是实际开发过程中将10%的成本投入到软件的语音识别功能上。此时需要评估该功能的使用人群,使用频率,产品实际效果是否能达到预期等等。
3)实现该设计导致代码易读性,可维护性,性能下降。
我们在进行开发时就遇到该情况。实际产生作用的代码很少,但是在设计时强行追加了很多设计模式。虽然看上去“高大上”了,实际维护时,却需要花费大量的人力去维护该设计。有时甚至会出现这种设计模式导致功能复杂度上升的情况。这类问题往往是大型项目在进行设计时易出现的。总设昌闭计师旦衫希望把该设计贯穿到每个功能模块,但是却忽略了某些模块的特殊性。
当你把【代码清洁】当作目的时,就是恶习了。为什么会存在代码洁癖,究其根本,是我们对“维护代码”这种让人抓狂的事情的实际需求,让拿陆我们越来越注意到清洁的重要。比如说 1 == a 这个,如果从来没有把 a == 1 写错成过 a = 1 导致你调式很长时间过,恐怕这消中顷个人能难把这个纳入到他的洁癖范畴内,即使他对空格的使用要求近乎苛刻。在我的圈子里面,一直有很多搞单片机的的。这些人主业是做电子甚至是机械的,当需要一个控制器的时候,会用单片机写一些非常小的程序来实现控制。我发现在这个圈子里面,就几乎没有代码洁癖的人,别说洁癖了,代码的基本清洁都看不到,即使这个人在做电路板的时候一板一眼。为什么?因为没有需求,代码本身长度都很小,而且都是写过无数遍的基本套路,甚至大段大段的代码都是用辅助工具直接生成的;这些代码对他们来说,多乱都很难写错,并切,最重要的,这些代码几乎都不需要维护,因为功能简单,程序就是可以做到没有BUG,需要升级的时候也很少。混乱的代码,于他们的工作效率,几乎没有什么影响;相反,由于开发环境难以想象的简陋,整理代码会浪费他们大量时间。既然代码洁癖是由需求引起的,那么我们来反思一个问题:我们做的和我们需要的一致么?其实问题问出来的时候,相信大家有答案了,既然用到了“洁癖”,肯定代表“做多了”,《编程之道》这本故事书里面有个有趣的小故事:一个初学者被要求编写一个财务软件。他疯狂地工作了很多天,但他的主管检视他的程序时发现,它写了一个编辑嚣,一个图形程序集,和人工智能的界面,但是看不到任何跟财务有关的东西。主管要求解释时,程序员被激怒了:你太没耐心了,我会在最后写财务的部分。这就是一个典型程序员在干的事情,所有培渗的优秀程序员都要经历这样的阶段,过度设计、过度优化、过度使用技巧等等等等,因为我们就是这样的群体,对这些的追求就是我们学习编程提高自己的动力,所以我们必然会经历这样的事情
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)