对于是否需要有代码规范,请考虑下列论点并反驳/支持:
- 这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
- 我是个艺术家,手艺人,我有自己的规范和原则。
- 规范不能强求一律,应该允许很多例外。
- 我擅长制定编码规范,你们听我的就好了。
我的观点如下:
代码规范是一件我们应该做,也必须做得事情!
在我们的编程能力不强的时候,我们的确会花费一定的时间来规范自己的代码。但是,这点时间并不是没有用的。这点时间不但没有影响开发效率,反而增加了开发效率,增强了团队整体的开发效率,所以说这并不是浪费时间。
如果你说,你有自己的规范和原则就够了,那么我想告诉你,你错了。在软件开发团队中,每个程序员都必须有相同的规范。如果每个程序员都有自己的风格,都按照自己的规范来写代码,那么这个程序在最后的运行上,一定会有很多的不如意。有人说,注意规范就像是狗撒尿,每个程序员都有着自己的规范,那么程序在各个板块之间就会有一层厚实的壁垒,那么程序自然就不能发挥最大的效用了。因此,程序员都必须有相同的规范,不能“独树一帜”。
对于规范,确实不能订死了,因为对于程序员来说,程序不仅是工作,更是一门艺术,更或者说是一个孩子。当然不能要求每个程序员的孩子都是一模一样的,但是必须要求每个程序员的孩子都是“人”。所以,在软件开发过程中,对代码规范的要求就是总体一致,允许有小的差异,只要是这个差异不影响整体程序的性能都是可以的。
代码规范的制定问题,我认为,不能由谁制定。从计算机软件产生至今,不知道有多少程序员码了多少代码,他们在潜移默化的形成一种约定:程序就是应该这种风格,程序就是应该这样写。假如团队中的某一个人要求都使用他定的规范,那么在程序开发过程中,很多没有适应这种规范的人就会花大量的时间再代码规范上,严重影响了程序的开发进程。因此,继承前辈们的成果总是会比团队中的某一个人定规范要好。当然,如果团队中的某一个人能够在前辈们的基础上,综合所有开发人员的开发习惯,这样得到的效果还是会很可观的。但是,这样花费的时间成本和人力成本会更大,这样一来,就需要一个折中,所以,具体情况还需读者自行决定。