zoukankan      html  css  js  c++  java
  • 代码规范圣战

    (首先澄清笔者观点:除了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.05.05 C与C++基础】C++中的自动废料收集:概念与问题引入
    【2018.04.27 C与C++基础】关于switch-case及if-else的效率问题
    【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
    March 11th, 2018 Week 11th Sunday
    March 10th, 2018 Week 10th Saturday
    March 09th, 2018 Week 10th Friday
    March 08th, 2018 Week 10th Thursday
    March 07th, 2018 Week 10th Wednesday
    ubantu之Git使用
    AMS分析 -- 启动过程
  • 原文地址:https://www.cnblogs.com/-OwO-/p/4840824.html
Copyright © 2011-2022 走看看