写点什么

代码标准之信达雅

作者:agnostic
  • 2023-10-14
    上海
  • 本文字数:808 字

    阅读完需:约 3 分钟

CR 是每个称职的架构师每日必做之功课。CR 的目标就是要提升代码的质量,杜绝未达质量标准的代码合并入代码库。但是怎样的代码才算高质量的代码,我们 CR 的标准应该如何界定呢?


对于代码的质量的标准,我认为可以分为两部分:正确性和可读性。

正确性,就是代码的功能需要符合设计的要求,对于正常场景和异常场景都可以做到正确的处理。这部分的保证,其实更多的是通过测试用例来保证的。一个架构师不可能了解所有的功能设计,也不应该深入到各类的实现细节之中。对于这部分的质量标准,架构师只需要把握两个关键点就可以:

  1. 核心逻辑正确性的 review。

  2. 测试策略和用例覆盖度的 review。


可读性,是代码的非功能性质量标准。指的是优秀的代码应该是能让人快速理解、轻松维护、容易扩展的。

代码的可读性,其实没什么严格的评判标准。在代码可读性上,更多的是一些感受和规约。所以,代码的可读性,其实有点艺术感的意思。所以,对于代码可读性,用翻译上的信达雅的标准来类比,未尝不是一个很好的思路。


信达雅,指的是翻译需要准确、通顺、美观。对于高质量的代码,也可以用这三点来判断。


信,指代码的准确性。这里可以包括几个部分:

  1. 代码中的命名需要能准确的表达含义。比如变量应该用合理的英文单词或短语,尽量避免 x1、x2 这种让人看不懂的命名。

  2. 异常和错误码能准确的描述错误。

  3. 日志的正确性质和完整性。

  4. 参数的注释需要清晰的描述参数的含义和约束。

  5. 代码的注释需要清晰描述代码的逻辑。


达,指代码的简洁性。代码需要通顺易懂。

  1. 代码应该是一个树状的结构,一步步展开,每个步骤是一个方法,内部逻辑是对下层方法的编排。

  2. 代码要和写文章一样,用通俗的语言,尽量不要用太特立独行的逻辑。

  3. streaming 和 closure 的使用,使代码紧凑。


雅,这个就是一个比较高的要求了。对于代码的美观性,基本的可以有几点:

  1. 代码的格式化。

  2. 方法的规模需要控制在一屏之内。

  3. 一些设计模式的使用。

  4. 代码圈复杂度的控制。

  5. 错误描述和日志中文字的组织和英文翻译的准确美观。

等等。

发布于: 刚刚阅读数: 4
用户头像

agnostic

关注

常识、KISS、高可用、合规架构、架构治理 2019-02-14 加入

二十年架构经验,互联网金融专业架构师。Open Group Master Certified Architect

评论

发布
暂无评论
代码标准之信达雅_代码质量_agnostic_InfoQ写作社区