我们是否应该遵守代码规范?

我们是否应该遵守代码规范?

论点一:这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。

我不同意上述论点。

软件工程不同于个人编程,后者的设计、开发、调试、维护只有作者一个人从头到尾完成,换句话说,作者既是代码的编写者,同时也是代码的审查者,那么作者要做到的就是写出自己能够读懂的代码即可,这种情况下可以按照自己的代码风格来写。但是软件工程是一个多人合作的工程,而且常常伴随着人员流动,这也就意味着,我们自己的代码可能会在将来被另外的开发人员阅读,我们自己也随时会面临阅读他人的代码,如果每一位程序员都按照自己的个人风格来写代码,那么就会出现互相看不懂他人的代码,这样的话,软件的维护就会举步维艰。

还有一个误区,我们可能习惯以为编程就是在电脑前啪啪啪敲键盘码代码的过程,其实码代码仅仅是程序设计的一小部分,一个优秀的程序员会花大量的精力在程序的设计和后期的调试上,一个规范的代码,可以让每个模块的功能一目了然,这样调试时就能迅速找出错误原因,达到事半功倍的效果。

所以,无论从个人的角度还是整个软件团队的角度,遵守约定的代码规范是很有必要的。

 

论点二:我是个艺术家,手艺人,我有自己的规范和原则。

我不同意上述论点。

程序设计强调规范并不是为了抹杀程序员的创造力。然而,一个程序员的创造力的体现并不在于他在代码风格上有多么特立独行,因为程序最终归根结底是给机器看的,不管你的代码风格是怎样的自认为优秀,对于机器来说就是一行行字符串而已,它不会觉得你的代码有多么优秀,只会告诉你你的代码能否通过它的编译来执行。一个程序员的水平高低往往体现在他编程思想的优劣上,同样的一个问题,有些程序员能够用很少的时间和空间的代价解决,而另外的程序员却做不到,我们难道不能认为前一种人就是一种艺术家吗?因为他们用简洁优美的代码来解决了一个复杂的问题。

至于坚持自己的规范和原则的弊端,前一个问题已经阐明。

 

论点三:规范不能强求一律,应该允许很多例外。

我不同意上述论点。

在我看来,一个软件工程项目的质量好坏,与代码规范设计得是否合理、细致、严瑾,有着很大的关系。如果一个项目的规范很细致,涉及到很小的编程细节,那么如果每一个程序员都遵守这样的规范来进行编程,在后期审查的时候,就可以省去很多的在细节上的分歧,而专注于代码的效率和bug上面,这无形中提高了软件的开发效率。举一个不恰当的例子,Java语言现在运用得越来越广,在各种软件开发中越来越广泛被采用,一个很关键的因素就是它的语言具有很强的规范性。它规避了C语言里由于可以任意转换类型和可以任意使用指针带来的安全隐患,从而让程序员可以花更多的精力来考虑软件的整体结构,而不是这些编程细节上,现在的高级语言的发展趋势也印证了这一点。

 

论点四:我擅长制定编码规范,你们听我的就好了。

我不完全同意上述论点。

软件开发是一个团队工程,那么也必然要遵守少数服从多数的原则,对于编码规范,我认为有必要得到大多数人的认同,并且这种编码规范在国际上有一定的普遍性。况且,我觉得一个普通的程序员在没有大量的编程实践的基础之上,还不具有制定编码规范的能力,因此,还是老老实实遵从大家普遍认同的编码规范更为合理。当然,对于世界一流的程序工程师,我认为他们的编码规范一定有其道理。

posted @ 2015-09-28 18:54  ruoyuwang  阅读(359)  评论(1编辑  收藏  举报