• 代码规范圣战


    (首先澄清笔者观点:除了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的渣渣,我还是去吃饭吧。大家再见。
    Python

  • 相关阅读:
    2018级 面向对象程序设计 助教总结
    十二,时间序列趋势相似性度量方法的研究-DPM
    第十八周博客作业
    LSTM与BiLSTM
    基于自训练的半监督文本分类算法
    随机游走模型
    PMI点互信息
    Transductive Learning(直推式学习)
    TextCNN实验
    TextCNN
  • 原文地址:https://www.cnblogs.com/-OwO-/p/4840824.html
Copyright © 2020-2023  润新知