大猿来信(6)-年轻人,你的代码有freestyle吗?

日期:2019-11-02 00:35:30
你好,这是大猿的第6封来信,这次我们来谈谈代码的风格。
 
 
在IT界如果说到代码风格,势必会引起一场撕逼大战,每个人都有一套逻(自)辑(圆)自(其)恰(说)的代码风格。听谁的呢?这好像很难回答。其实,咱们有句老话,到什么山上,唱什么歌。翻译过来就是,到什么公司,就遵守什么风格,入司随俗这就对了。
 
 
平时看到的各个大佬分享的代码风格可能不适合你,如果你按照它的风格去写代码,自己写还行,但是在公司团队里,就不一定行了。每个公司都应该有自己的代码风格。
 
 
所以你加入新公司后,要看看他们的代码风格是怎样的,务必要遵守公司的规范,即使风格有不合理的地方,你也得准守,谁不准守谁就走,以大局为重,不可太任性,除非你是公司的研发负责人,可以凭借资源和强大的执(诱)行(惑)力, 去推动新风格的实行,这是一个艰巨的任务,也是考验研发负责人能力的时候。
 
 
我之前写了点代码发到网络上,让大家看看糟糕的代码风格,结果是百花齐放了。代码如下:
 
 
 public void checkFlag(boolean flag) {
        if (flag == true) {
            System.out.println("flag is true");
        } else {
            System.out.println("flag is false");
        }
    }
 
    public void checkFlag2(boolean flag) {
        if (flag) {//flag是boolean类型的 不需要再次比较
            System.out.println("flag is true");
        } else {
            System.out.println("flag is false");
        }
    }
 
    public boolean compare(int number) {
        if (250 == number) {
            return true;
        } else {
            return false;
        }
    }
 
    public boolean compare2(int number) {
        return 250 == number;//一行代码搞定
    }
 
我在抖音上把此代码风格制作成短视频发布上去后,评论区炸了,各色的评论都有,仿佛这世上的程序员根本不存在神马风格,都觉得我的风格才是不一样的烟火,哀哉...,且看截图吧:

 
从评论中我能感受到很多人把代码的简洁性和易读性搞错了。错在哪呢?
 
 
错在不该为了照顾代码的易读,就牺牲了代码的简洁性。这就是错误的根源。这么说易读就不重要了?当然不是。
 
 
易读当然是重要的,可简洁也很重要,不能因为易读就把代码写成傻瓜式的,向婆娘的裹脚布,又长又有味,啰啰嗦嗦,未必就易读了,反而不自然,理解起来就更困难了。
 
 
不能因为易读性,就把代码写成傻瓜式的。
 
                        ----- 《敲黑板 划重点》
 
 
所以,好的代码兼具易读性和简洁性,易读不代表傻子都能读懂,而是逻辑清晰到容易理解,而不是逻辑冗余到费解。这是两码事,但是很多人把易读理解为傻子都能读懂,傻子读懂的是天书,不是代码。
 
 
这里推荐一本书《重构》,已经出第二版了,就是比较贵,现在也应该有电子版的了,看看这本书也许对你的代码会带来意想不到的改变。
 
 
祝秋安。