美文网首页程序员华山论道
你是否应该读 Clean Code 这本书 (中)

你是否应该读 Clean Code 这本书 (中)

作者: afaren | 来源:发表于2017-11-07 23:04 被阅读0次

    前情提要

    上一篇文章中,讲到了我在阅读这本书时的感悟,及我对身边同伴于这本书阅读观感的观察、疑惑和思考。在今天的文章中,我将说明疑惑是如何被解决的。

    如果你看不懂它的话,那么你就看不懂它

    前面我们说到,老人们认为,缺乏足够经验的新手无法领悟 Clean Code。这难道不是一个很讽刺的回答吗?一本书写出来是为了给人指导的,如果说,只有已经具备很足够经验的人才能看懂它,而无法对缺乏经验的人一点帮助,那么,这本书其实是无用的。打个比方的话,就等于幼儿园的小朋友看线性代数……

    反过来想

    到这个地步,基本上这个问题是无解的了。于是我想到《如何解题》中的建议——
    反过来思考。

    我一直在想 Clean Code 这本书该怎么看,怎样才能从中得到收获?可是我从来
    没有问过,为什么我要读这本书!

    是呀,为什么我需要读这本书呢?老人们为什么想让我读这本书呢?他们认为读了这本书可以习得一些编写整洁代码的要点,会提高代码的质量。

    为什么要读这本书 -> 老人的建议 -> 提高代码质量
    

    也就是说,其实他们的 目的是让我提高代码质量,而不是读这本书本身 。于是,我们成功地可以把问题从 如何阅读 Clean Code 规约为 如何提高代码质量

    感觉好像问题变得更加明了了,但是如果我们再深入一步呢——为什么要提高代码
    质量?

    高质量代码 -> 可读性高 
    
    可读性高 -> 别人能看得懂
    
    为什么要让别人读得懂 -> 减少沟通成本
    
    为什么要减少沟通成本 -> 团队开发
    

    这才是真正的问题,整洁代码的目的在于减少团队成员的沟通成本,而不在于写出让自己满意的代码。

    什么是 Clean Code

    深合己意?

    如何每个例程都让你感到深合己意,那就是整洁代码 - 沃德原则
    

    咋看之下,这说的是对的。仔细想想,会发现这句话是经不起推敲的。我写了一
    段自己满意的代码,那么它就是整洁代码了。如果正如这个 沃德原则 所言的话,
    那么整洁的垃圾代码真的不少。自己满意,但是别人看不懂的代码多了去了,这
    句话纯粹是废话,完全经不起推敲。

    那么到底怎样才算是整洁代码?

    大家好才是真的好?

    如果每段代码都让团队里的人一看就知道是什么意思,那就是整洁代码。
    

    代码的质量不是作者自己能评定的,要由团队来决定。能让团队成员一下子看懂
    的,符合团队开发风格的,才是质量高的代码。程序员的工作,很少单独有一个人完成的。正是因为团队开发的原因,整洁代码才是有必要的。

    真正的问题

    只有在团队开发的情况下,别人才需要不得不大量阅读你编写的代码。这个时候,
    如果你写的代码可读性特别差,就会大大提高成员之间的沟通成本,降低工作效
    率。

    两个人的团队中,A 和 B 每天开始工作时都得问对方写的代码是什么意思
    三个人的团队中,A, B 和 C 一共需要沟通 6 次
    四个人的团队中,A,B,C 和 D 需要 24 次
    五个人的团队中,A,B,C,D 和 E 需要 120 次

    这个计算当然是夸张了,但是,它说明了可读性的代码对于团队生产力的巨大破
    坏作用,从反面来说,也就证实了可读性对于团队开发的重要性。

    就是在团队开发的情况下,别人才需要阅读你的代码以进行增量开发和功能拓展,
    也就只有在这种情况下,可读性才显得如此重要。

    自己写完就扔的代码,不需要可读性,就算写完了只有上帝知道它做了什么,有
    什么关系?大括号该放哪儿?蛇底式还是驼峰式?函数命名要用动词?类名应该
    是名词,不能用复数?自己怎么开心怎么来好吧,管它呢~~~

    未完待续……

    相关文章

      网友评论

        本文标题:你是否应该读 Clean Code 这本书 (中)

        本文链接:https://www.haomeiwen.com/subject/ezmsmxtx.html