1. 是否需要有代码规范
对于是否需要有代码规范,请考虑下列论点并反驳/支持:
- 这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
- 我是个艺术家,手艺人,我有自己的规范和原则。
- 规范不能强求一律,应该允许很多例外。
- 我擅长制定编码规范,你们听我的就好了。
首先,对于以上的四个观点,我反驳1,2,4,关于3,我个人认为这个例外也应该是有限制的例外。
在刚开始写代码的时候,老师就叮嘱我们要培养一个良好的代码风格,不仅仅是为了自己在以后阅读的时候能够方便简单的读懂,也是为了便于他人阅读理解。尤其是在团队合作的时候,如果每个人都很随意的自己用自己的方式,不仅不好维护,互相也不能理解代码意思。这样反而拖延工作量,浪费时间,降低效率。
http://www.vaikan.com/the-conventions-we-follow/在这篇文章里我们了解到了什么是代码规范,即同时包括了编码风格和其它规范,不仅仅指代码格式。而至于为什么我们要强调代码规范,我们也能从这篇文章里了解优点。1、遵守编码风格使代码更容易维护,2、编码风格使形成代码集体所有制,3、编码风格能消除那些长久的纷争。这些是显而易见的。
就好比无规矩不成方圆,如果每个人都坚持自己的代码风格不做规范,那么在代码交接的时候会因为彼此的意见观点不同发生冲突更让人厌烦。所浪费的时间要比制定规范的时候浪费的更多。
http://www.vaikan.com/things-everyone-should-do-code-review/在代码审查的过程中,你是只付出了时间没有收获,审查的过程也是重新学习熟悉的过程,在审查同伴的代码的时候你也了解到了其他人的设计思想,也有助自己改善完全。
就此针对观点1,制定规范肯定是需要花时间的,在项目开始之前大家就相互商量决定,肯定会占用开发时间,但是如果不花费这样的时间,在以后的问题上遇到两个人因为代码风格不一样就要开始改代码来适合总体的程序,这样反而得不偿失。
观点2,我认同程序员也可以称得上艺术家,我们和他们的不同就是我们的艺术发挥在机器上。每个人都是不一样的,每个人都有自己的习惯爱好,就如同每一位艺术家手艺人都会用自己的方式在作品上留下属于自己的记号,但是很多时候不是独特才是最好的,有许多事并不一定有什么最佳答案,只要能解决问题的方法就是好方法。同样,规范风格有时候也谈不上是不是最好的,应用起来方便、高效,这就是好规范。
观点3,国家政策也是根据地区不同制定不同的规则。代码规范也不是强制的全部一模一样。如果遇到一些因为代码规范不能解决的问题,那么就不得不变通了。对于一个团队而言,我们每个人都只是一份子没有谁是绝对的独裁者,因为合作所以我们要照顾每个人的风格,如观点4这种想法不仅仅是在码代码的合作时不能有这种想法,为人处世其他方面也都厌烦这种专制。