《Pragmatic Programmer》读后感(一):为何会有如此多的破窗户?
2010-09-02 19:54
405 查看
终于买到了这个享誉盛名的《程序员修炼之道》。自从第一次见到这本书的电子版时并草草浏览了其中一些章节之后,一直都盼望着能够买到这本书并好好阅读一番。而今,终于可以开始好好品尝了,心里自然别有一番滋味。
这几天,初步看完成了第一章“注重实效的哲学”,看完之后,“破窗户”这个名词一直在脑海中打转。仔细回想耳闻目睹或亲身经历的开发历程,原来“破窗户”竟是如此普遍地存在着。
前不久,一个偶然的机会,目睹了一个同事写的代码。一个方法竟然有1000多行,更突出的是,在这个大方法中,所要实现的功能或所要完成的职责竟是多不胜数,方法之间的相互调用、UI处理逻辑与业务处理逻辑的相互渗透等等,简直可以说是鱼龙混杂了。于是,笔者友好地向这位同事提出了一些改进的建议,而同事却回答说,这部分所要实现大功能的代码原本是从其他系统移植过来的,为了方便,与之相关的新处理逻辑的增加或是修改都直接在上面处理了;虽然自己也不是很赞同现有的处理方式或代码风格,但限于现有的代码结构,所以最终也就照着前人之路继续开发了。
其实,笔者打从心底不赞同这位同事的说法,至少这样的做法不是一个程序员所应该做的。但同时也知道这位同事的无奈,因此这建议也就罢了。然而,在目睹过这一情形之后,笔者在每每写代码的时候都会不自觉地想起这种情形,写代码自然也更加不敢肆意妄为了。
今天想来,这种情形真真就是一个大大的“破窗户”,这个“破窗户”是谁造成的并不是重点,重点在于后续开发者或维护者一而再再而三地容忍这些“破窗户”的存在,才造成了后面不可收拾的糟糕局面。
再回过头来看看自己编写的代码,也难免会出现一些“破窗户”,有些可能已经被发觉,而有些则可能隐藏了许久都未曾被发觉。但至少笔者在努力做这样一件事,一旦发现“破窗户”,将立即着手进行修补改造工作,而若来不及修补改造,则会对该“破窗户”加上标记,以待日后修补改造。
很多时候,“破窗户”都是不经意间造成的,或是工作的疏忽,或是经验的不足,等等。但正如书中所说的那样,不要容忍“破窗户”。只有这样,才能编写出更加清晰、更加整洁、更加优美的代码。
这几天,初步看完成了第一章“注重实效的哲学”,看完之后,“破窗户”这个名词一直在脑海中打转。仔细回想耳闻目睹或亲身经历的开发历程,原来“破窗户”竟是如此普遍地存在着。
前不久,一个偶然的机会,目睹了一个同事写的代码。一个方法竟然有1000多行,更突出的是,在这个大方法中,所要实现的功能或所要完成的职责竟是多不胜数,方法之间的相互调用、UI处理逻辑与业务处理逻辑的相互渗透等等,简直可以说是鱼龙混杂了。于是,笔者友好地向这位同事提出了一些改进的建议,而同事却回答说,这部分所要实现大功能的代码原本是从其他系统移植过来的,为了方便,与之相关的新处理逻辑的增加或是修改都直接在上面处理了;虽然自己也不是很赞同现有的处理方式或代码风格,但限于现有的代码结构,所以最终也就照着前人之路继续开发了。
其实,笔者打从心底不赞同这位同事的说法,至少这样的做法不是一个程序员所应该做的。但同时也知道这位同事的无奈,因此这建议也就罢了。然而,在目睹过这一情形之后,笔者在每每写代码的时候都会不自觉地想起这种情形,写代码自然也更加不敢肆意妄为了。
今天想来,这种情形真真就是一个大大的“破窗户”,这个“破窗户”是谁造成的并不是重点,重点在于后续开发者或维护者一而再再而三地容忍这些“破窗户”的存在,才造成了后面不可收拾的糟糕局面。
再回过头来看看自己编写的代码,也难免会出现一些“破窗户”,有些可能已经被发觉,而有些则可能隐藏了许久都未曾被发觉。但至少笔者在努力做这样一件事,一旦发现“破窗户”,将立即着手进行修补改造工作,而若来不及修补改造,则会对该“破窗户”加上标记,以待日后修补改造。
很多时候,“破窗户”都是不经意间造成的,或是工作的疏忽,或是经验的不足,等等。但正如书中所说的那样,不要容忍“破窗户”。只有这样,才能编写出更加清晰、更加整洁、更加优美的代码。
相关文章推荐
- 《我的滑板鞋》为何如此催人泪下
- 系列文章丨AlphaGo Zero为何如此备受瞩目?8位教授的独家讲解
- 人脸识别技术应用于英国阵亡将士纪念日,为何如此备受争议?
- 蘑菇街为何能聚集起如此人气?
- YP应用如此多 为何Yoke能大获成功
- 有感而发:你为何如此怕“高级”二字?
- 一年呲牙52亿次,聊天时你为何如此喜欢“呲牙”?
- 文档格式标准之争,为何如此激烈?
- 解密SSL证书为何对企业网站安全如此重要
- 都说张小龙是牛逼的产品经理,为何微信的用户体验如此渣?
- vc为何如此青睐户外媒体公司?
- 称霸超级计算机 Linux为何如此强势?
- 操作系统--称霸超级计算机 Linux为何如此强势?
- 专注为何如此重要
- 地图产品如此烧钱,为何巨头们还要拼命布局?
- winform 的 ArrayList ,为何你如此的没存在感啊。。。
- next数组,你为何如此吊
- CSDN日报20170428 ——《你的开发为何如此低效?》
- 这341句,为何美得如此伤人
- YP应用如此多 为何Yoke能大获成功