锁定老帖子 主题:为什么要遵守代码规范
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||
---|---|---|---|
作者 | 正文 | ||
发表时间:2009-02-19
几乎所有的软件开发公司,都有相应的代码规范,有些大公司,特别是大的外包公司(尤其是对日外包公司),其代码规范已经到了事无巨细的地步。但相信很多开发人员(包括我刚开始软件开发时),都会产生一些疑问:功能,性能无疑是最重要的,设计也很重要,为什么却要把这么多的精力放在代码规范上呢,仅仅是为了方便别人阅读代码,便于维护吗?这样一套套的代码规范真的可以加快开发速度吗? 在回答这些问题以前,先来看一下Wicket,Tapestry两个功能相类似的基类其中的代码节选。
来自Wicket1.3.3中org.apache.wicket.component的代码
来自Tapestry3.04基类org.apache.tapestry.AbstractComponent的代码
很容易看出,以上的这几段代码,与公司的开发规范相比,也有很高的吻合度,事实上,Wicket和Tapestry的作者都是长期编写架构的开发和设计人员,是非常顶尖的开发人员,远非一般的高级工程师可比,但看这些代码,却没有多少技巧在其中,可以算的上代码规范很好的遵守者。很多国内很程序员经常会觉得,这些高手写的代码应该很难,很复杂。但事实告诉我们,大道至简,这么多的资深程序员甚至是架构师经过多年的编写代码,却都达到了同样的规范,可谓殊途同归。为什么呢?这说明,只有这些来自经验的规范才真正的体现了水平,才是多代程序员的精华所在。当开发人员很好的遵守代码规范来编写代码时,才可以慢慢的体会到规则,才会体会到设计。可以想像一下,如果遵守代码规范,一个方法不得超出50行代码,那么大量的if else就不可能出现,而要代之以各种设计(如工厂,策略等设计模式)来解决问题。 大家如果有兴趣看一下他们的源代码,可以去Apache网站下载,他们的代码中只有很少的一部分,估计不足5%的代码才会超出50行/每方法,违反常规的代码规范的内容也会非常的少。 开发规范不仅不是一种可有可无的东西,反而是历代程序员经过多年的开发所磨炼出来的经验总结。对于程序员来讲,想写好代码,从遵守规范开始。 最后以小说里的一句话来结束本文:技巧的本质就是规则,而规则使人成长。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|||
返回顶楼 | |||
发表时间:2009-02-19
“技巧的本质就是规则,而规则使人成长。”
|
|||
返回顶楼 | |||
发表时间:2009-03-20
规则的本质就是技巧,而技巧使人成长
|
|||
返回顶楼 | |||
发表时间:2009-09-22
说的好,大道至简
|
|||
返回顶楼 | |||
发表时间:2009-09-22
嗯,随着开发时间的增长,自己的代码风格也越来越和spring,hibernate这些开源软件类似了。
|
|||
返回顶楼 | |||
发表时间:2009-09-22
最后修改:2009-09-22
原因是,不是每个人都是大师,都有经验去写出好的代码。尤其是密集劳动力型的外包行业。为了尽量避免bugs的数量,和减轻开发leader去复查代码花费的精力,规范是最好的做法。就好像生产需要个模子一样。。。
楼主的例子太过理想化,大道至简,有几个人做到大道了?你?我?还是谁? |
|||
返回顶楼 | |||
发表时间:2009-09-24
想说的很简单
规范这种东西,表面上看只是规范,就象你说的,生产需要个模子一样 但背后体现的是多少年来软件工程师设计的思想 如果大家都能理解这一点 那么对遵守的规范认识更深一些,自然就更容易遵守规范了 |
|||
返回顶楼 | |||
发表时间:2009-09-24
if (_bindings != null)
result.putAll(_bindings); if没大括号 |
|||
返回顶楼 | |||
发表时间:2009-09-25
sdnasky 写道 if (_bindings != null)
result.putAll(_bindings); if没大括号 很多大师都没大括号的,能看懂就得了 |
|||
返回顶楼 | |||
发表时间:2009-09-25
孟子曰:人之患在好为人师
|
|||
返回顶楼 | |||