代码规范圣战
(首先澄清笔者观点:除了php,Python是最好的语言)
引言
Long long ago,人类发明了计算机,计算的时代就此开启。当时的人们满心欢喜的使用着计算机,却厌倦了用汇编代码与二进制书写程序。终于,一个叫做Ken Thompson的怪胎发明了一种正常人能看懂的语言——C,还为其编写了一个(据说带有后门)的编译器。殊不知,这一看起来方便程序猿们工作的举动却带起了日后的一场圣战…
愚蠢的地球人啊,拿出你的代码,让我来看看你是下面的哪一种?
int foo()
{
printf ("O_O");
}
int foo() {
printf ("-.-");
}
什么?你两种都不是!烧死异类!
不论你是第一类人还是第二类人,欢迎参加到圣战当中。
传送门:http://mp.weixin.qq.com/s?__biz=MzAxMzMxNDIyOA==&mid=215114843&idx=1&sn=5a765de3c9a0ab60ebe193eee09770f9&scene=2&srcid=0918TGoGo8ZoROWqpFBsm4gN&from=timeline&isappinstalled=0#rd
看了这幅漫画,你明白为什么一定要有代码规范了吧。(没错,不遵循规范会被烧死或者打死)
那么我们为什么要有代码规范咧?
观点1:这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
你认为观点是正确的?想象一下,如果有人给了你一份长成这样的文档,你会怎么想?很漂亮?那么把里面的字符全都换成代码呢?没!法!看!了!吧!
于是明白了吧,代码规范是十分重要的。有好的代码规范才能让代码更清晰容易理解,给你一份“人工代码混乱”之后的代码没法看对吧?再假设一下,这个人因为代码写的太差被老板T了,然后要你维护他的代码。然而他的代码规范极差,又没有写注释,用了和你相同作用的结构体你却不认识它,于是你并不能看懂QAQ。那么你是重写好呢,重写好呢,还是重写好呢?所以为了不被老板T,也为了后人们在看到这段代码的时候不骂你,还为了这个世界的爱与正义,好好遵循代码规范吧。
观点2:我是个艺术家,手艺人,我有自己的规范和原则。
艺术家你好,请问你的艺术是不是代码画?是?烧死异类。不是?那你还是好好遵守代码规范吧。
其实你不想遵守也可以,不过公司有一个自动化的代码审核平台,不过没源码。你要是自己把它反编译回去,改成符合你的代码规范的模板,再验证一下你的代码没问题,这样也可以。哦对了,你还要验证你改完之后和原程序功能一致。
你有洁癖?那你更应该遵循代码规范了。你想想看, 把你的代码和其他人的代码合在一起,你是不是又该犯强迫症了?再说了,其他人还有洁癖呢,看到你的代码,一坨形如tttt的变量与交错的缩进,会不会打你也不好说啊。
观点3:规范不能强求一律,应该允许很多例外。
这个可以考虑,但是也不能有很多,比如goto
的使用。老板你就不要说不允许了,要不然你改写一下下面这段代码。
for(int i=0; i<100;; ++i)
for(int j=0; j<100; ++j)
for(int k=0; k<100; ++k)
for(int r=0; r<100; ++r)
for(int l=0; l<100; ++l)
if(i+j+k+r+l == 233)
goto end;
end:
printf ("Hello Boss.");
有些规范是建议性的,比如goto
是最好不要用,但是偶尔也是用得到的。
观点4:我擅长制定编码规范,你们听我的就好了。
没问题,只是麻烦你把公司里所有代码都改写一下。还有,在所有员工把代码规范改成你这样之前,他们的工资你来发。
小伙子,有些历史遗留问题是不能改的。你看看人家lyt长得多帅,为什么人民币上印的不是他而是毛爷爷呀。在你当上老板之前,还是不要考虑制定代码规范了。(除非你想被老板T掉)
写在最后:既然现在的集成化开发平台已经能帮你按规范格式化代码了,你还何必不用咧?你要是真的看不习惯,抬起头骂一骂上帝就好了,还能顺便治疗一下颈椎病(笑)。
真·写在最后:好像上面的圣战还没打完,越来越多的程序猿和攻城狮已经加入混战。果然这种时候还是需要公司员工抱团才有获胜的可能。不过不同公司员工之间为什么要打呢,反正你们也不会维护对方的代码= =算了,作为一个用Python的渣渣,我还是去吃饭吧。大家再见。