美文网首页人生代码
有效掌握编程风格 - 问题所在

有效掌握编程风格 - 问题所在

作者: CodingDetails | 来源:发表于2019-05-26 10:36 被阅读18次

    野火烧不尽,春风吹又生。

    代码中不协调的编程风格,就像野草一样有顽强的生命力,永远除不尽;
    聪明的程序员立刻发现,靠人肉去Review不是长久之计。

    斩草除根,以绝后患。

    于是Lint这样的静态代码检查工具中必不可少的一项就是编程风格,大家期望在流程中加一道关卡以一劳永逸地解决该问题。

    堵不如疏

    风格要保持一致

    大家在编码或Review代码时,发现风格不协调很容易,凭本能就能做到,于是达成了第一条共识:在同一上下文内风格要保持一致。这个上下文灵活性也可以很大:从同一种编程语言要保持同一种风格,到同一个项目内,还可以小到同一个源文件内,甚至同一个函数内。一切全凭Review代码时的心情。

    还是不服

    风格保持一致,并没有解决问题,总有人跳出来抱怨受不了前任的代码风格。

    不患寡而患不均

    争论到了这个层次,事情本身-编程风格是什么已经不重要,重要的是-为什么是你的,而不是我的

    知其然,知其所以然

    好的编程风格指南长什么样

    • 告知WHY
      好的编程风格会明确告诉你规约产生的背景及要解决的问题。
      如Angular的Style Guide对每个Style都有Why?的条目解释;
      Alibaba的Java Coding GuidelinesNote条目。
    • 分级
      不是每条规约都一样重要,可适当抓大放小。
      如Alibaba的Java Coding Guidelines依据约束力强弱及故障敏感性分为三个等级:Mandatory, Recommended and Reference
      Angular的Style Guide则分为DoConsider两级。
    • 给出正反例
      一图胜千言,一个例子可以让大家秒懂这条规约。
      如Google Java Style Guide有正例和Exception例子;
      Angular Style Guide有正例和avoid例子;
      Alibaba的Java Coding GuidelinesPositive exampleCounter example

    问题解决了吗

    这样的风格指南像法律条文一样,做为编程智慧的结晶,倒是解决了争议的问题。
    知法犯法的问题也有执法机构来解决,可不知法呢?

    TBC

    相关文章

      网友评论

        本文标题:有效掌握编程风格 - 问题所在

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