`

献给xinyuan公司以及我的团队 代码整洁之道

    博客分类:
  • J2SE
阅读更多

                       花时间保持代码整洁不但有关效率,还有关生死存亡。

20 世纪80 年代末,有家公司写了个很流行的杀手应用,许多专业人士都买来用。然后,发布周期开始拉长。缺陷总是不能修复。装载时间越来越久,崩溃的几率也越来越大。至今我还记得自己在某天沮丧地关掉那个程序,从此再不用它。在那之后不久,该公司就关门大吉了。

20 年后,我见到那家公司的一位早期雇员,问他当年发生了什么事。他的回答叫我愈发恐惧起来。原来,当时他们赶着推出产品,代码写得乱七八糟。特性越加越多,代码也越来越烂,最后再也没法管理这些代码了。糟糕的代码毁了这家公司

 

只要你干过两三年编程,就有可能曾被某人的糟糕的代码绊倒过。如果你编程不止两三年,也有可能被这种代码拖过后腿。进度延缓的程度会很严重。有些团队在项目初期进展迅速,但有那么一两年的时间却慢如蜗行。对代码的每次修改都影响到其他两三处代码。修改无小事。每次添加或修改代码,都得对那堆扭纹柴了然于心,这样才能往上扔更多的扭纹柴。这团乱麻越来越大,再也无法理清,最后束手无策。

 

随着混乱的增加,团队生产力也持续下降,趋向于零。当生产力下降时,管理层就只有一件事可做了:增加更多人手到项目中,期望提升生产力。可是新人并不熟悉系统的设计。他们搞不清楚什么样的修改符合设计意图,什么样的修改违背设计意图。而且,他们以及团队中的其他人都背负着提升生产力的可怕压力。于是,他们制造更多的混乱,驱动生产力向零那端不断下降

 

最后,开发团队造反了,他们告诉管理层,再也无法在这令人生厌的代码基础上做开发。他们要求做全新的设计。管理层不愿意投入资源完全重启炉灶,但他们也不能否认生产力低得可怕。他们只好同意开发者的要求,授权去做一套看上去很美的华丽新设计。

于是就组建了一支新军。谁都想加入这个团队,因为它是张白纸。他们可以重新来过,搞出点真正漂亮的东西来。但只有最优秀、最聪明的家伙被选中。其余人等则继续维护现有系统。

现在有两支队伍在竞赛了。新团队必须搭建一套新系统,要能实现旧系统的所有功能。另外,还得跟上对旧系统的持续改动。在新系统功能足以抗衡旧系统之前,管理层不会替换掉旧系统。

竞赛可能会持续极长时间。我就见过延续了十年之久的。到了完成的时候,新团队的老成员早已不知去向,而现有成员则要求重新设计一套新系统,因为这套系统太烂了。

      假使你经历过哪怕是一小段我谈到的这种事,那么你一定知道,花时间保持代码整洁不但有关效率,还有关生存。

    

作者语:

      衷心的希望 

                  1、不要让混乱毁了xinyuan的电采系统,虽然它现在卖的很火,但混乱确实是至关生死存亡!公司如此庞大的研发团队,从侧面反映出了生产效率的低下,那么什么导致了生产效率如此之低?我想领导们是该想想了!我离职的原因之一就是与其在混乱中苟且偷生、度日如年、生不如死,还不如离开混乱,重新开始.....希望xinyuan保兴争霸的目标能尽快实现!

                   2、尽可能的减少目前caiyangyang的混乱,拒绝混乱,持续重构,从我做起,从一点一滴做起!

                   3、写的不但是代码,还是责任,它事关企业的前途和命运!

 

 

 

 

13
1
分享到:
评论
19 楼 zxkevin1989 2011-10-03  
前几天去xinyuan面试了,刚毕业,还不了解……
18 楼 huashuizhuhui 2011-04-17  
呵呵 同是天涯沦落人啊
17 楼 lz_cleaner 2011-04-17  
我刚辞职了,就是文中的原因,感同身受啊!
16 楼 huashuizhuhui 2011-04-14  
领导是不会同意让你去重构的,所以我们要自己重构,优化。这是我们的天职
15 楼 laolinshi 2011-04-14  
现在我公司做的东西都是紧急上线的,哪有那么多时间去重构代码,况且系统太复杂了,自己重构的代码也不敢上生产啊。
14 楼 li2005 2011-04-14  
这几天看到关于项目corruption的文章就深有同感,个人感觉就是自己要遵守规范,然后自己在工作中看到那里不对就尽量修改规范点,能够在自己能力范围内能重构就重构
13 楼 xyh 2011-04-13  
[b][/b]
12 楼 huashuizhuhui 2011-04-12  
pistachio 写道
一针见血

呵呵 3Q
11 楼 pistachio 2011-04-12  
一针见血
10 楼 poson 2011-04-10  
poson 写道
如果最开始代码没有写,现在不断的加功能上去的时候,代码会越来越烂。而且越来越没有机会去重构这个项目,我是深有体会。


如果最开始代码没有写好,现在不断加功能上去,代码会越来越烂,而且越来越没有机会去重构这个项目,我是深有体会。
9 楼 poson 2011-04-10  
如果最开始代码没有写,现在不断的加功能上去的时候,代码会越来越烂。而且越来越没有机会去重构这个项目,我是深有体会。
8 楼 hanyou 2011-04-10  
每个人都在抱怨说以前的代码烂,其实你现在写的代码过几年后也会被别人骂,其实骂人解决不了问题,只有虚心学习,定义好规范,注重开发过程,而不是开发速度才能最终解决问题。但大家想想,中国的市场环境是这样的吗?
7 楼 xiaojin21cen 2011-04-09  
至少在我接触的项目中,那个代码真是乱,烂死了。
6 楼 huashuizhuhui 2011-04-08  
《重构改善既有概要》

《代码整洁之道》

都是程序员的必修课

呵呵
5 楼 jiasky 2011-04-08  
你说的没错,
作为程序员代码是至关重要的,他是衡量一个程序员基本素质的砝码。
作为管理者,如果有手下万一离开团队,代码之好坏,直接关系到维护成本之高低。
像《重构》、《effective java》是程序员的必修课。
4 楼 itsuki 2011-04-06  
我现在就在干这事儿...你只要把你自己的东西弄进去,改什么重写什么就好了.... 保证不会浪费过多时间...
3 楼 constant 2011-04-06  
我现在就在挣扎中。。。
2 楼 mqlfly2008 2011-04-06  
非常普遍的一种现象!
1 楼 kulinglei 2011-04-05  
我前公司也有个项目,第一批开发的人走完了,后来的人都在那个系统上做开发,但除了我认真的研究原有代码的风格,其他的人都是按自己的风格编码,他们用很短的时间就实现了自己任务,领导就经常表扬他们,现在那个系统至少有10中风格的代码,谁接触谁死。
这样的公司没必要呆。他们看中的只有时间和钱

相关推荐

Global site tag (gtag.js) - Google Analytics