美文网首页
2 代码整洁之道

2 代码整洁之道

作者: brightsunp | 来源:发表于2017-11-17 18:20 被阅读0次

1 整洁代码

本书的内容概括:不要重复代码,只做一件事,表达力,小规模抽象。
稍后等于永不:Later equals never
简单代码依其重要性:

  • 能通过所有测试
  • 没有代码重复
  • 体现系统的全部设计理念
  • 包括尽量少的实体,如函数、类等

文档里的@author字段:我们是作者。作者都有读者。并且,只有程序员才会读你的代码。不读周边代码的话没法写代码,编写代码的难度,取决于读周边代码的难度。要想轻松写代码,干得快,早点做完,先让代码易读吧。Info和Data就像a、an、the一样,都是意义含混的废话。可搜索的名称;名称长短应与其作用域大小相对应。明确是王道

糟糕的代码可以清理,但成本高昂,找到和破除陈旧的依赖关系费时费力。而保持代码整洁相对容易,5分钟前制造的混乱,能很容易地清理掉,解决之道就是保持代码持续整洁和简单。

函数的第一规则是要短小,第二规则是要更短小。代码块、缩进层级不应该多于一层或两层。块内调用的函数有较具说明性的名称,易于阅读和理解。只做一件事。每个小函数只该有一个return语句,循环中不能有break或continue语句,而且永远不能有任何goto语句。
写代码类似于写文章,想到什么写什么,再斟酌推敲打磨至心目中的样子。写函数一开始冗长而复杂,缩进嵌套循环太多,参数列表太长,名称太随意,也有重复代码;有初稿后进行打磨,分解函数、修改名称、消除重复、拆散类,同时保持测试通过。
注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败。能用函数或变量时就别用注释。

垂直格式:代码组以空白行区隔,概念相关的代码则放到一起;横向格式:尽量保持代码行短小。
空格字符:加强分隔效果,能强调其前面的运算符。还有个微妙的用法,区分运算符优先级;可惜多数代码格式化工具都会漠视这点,从头到尾采用同样的空格方式。

2 测试驱动开发

对于第三方代码库,学习和整合都很难。通过编写学习性测试来遍览和理解第三方代码。好处不光是免费,还在投资上有正面的回报,比如当第三方程序包发布新版本,可以运行学习性测试看程序包是否有所改变。边界上的代码需要清晰的分割,和定义了期望的测试,避免在自己代码中过多了解第三方代码中的特定信息。
有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码。测试覆盖率越高,就越不担心,能毫无顾虑地改进架构和设计。测试消除了对清理代码可能破坏代码的恐惧。整洁的测试必须有可读性,每个测试一个断言,只测试一个概念。
FIRST: Fast/Independent/Repeatable/Self-Validating/Timely

简单设计的四大原则:

  • 运行所有测试
  • 消除重复
  • 表达力
  • 尽可能少的类和方法

相关文章

  • 2 代码整洁之道

    1 整洁代码 本书的内容概括:不要重复代码,只做一件事,表达力,小规模抽象。稍后等于永不:Later equals...

  • 代码整洁之道2

    前言 与问题的难易相比,解决问题的方式、步骤以及反思的程度才能体现出一个人的职业素养。 职业素养是持续积淀的结晶:...

  • [代码整洁之道]-整洁代码

    前段时间,看了代码整洁之道,顺手做了些笔记,分享给大家,和大家一起探讨整洁代码之道。 1.1要有代码 代码是我们最...

  • 代码整洁之道【2】--函数

    代码整洁之道,关于函数部分的总结 一、函数只做一件事 函数应该只做一件事、做好这件事、只做这件事。判断函数是否不止...

  • 代码整洁之道-<函数>

    代码整洁之道-<函数> 代码整洁之道 一书相关读书笔记,整洁的代码是自解释的,阅读代码应该如同阅读一篇优秀的文章,...

  • 代码整洁之道

    01、有意义的命名 在团队开发中,团队小伙伴编码风格各不相同,一个统一的规范就显得尤为重要,最近在做Code Re...

  • 代码整洁之道

    整洁代码 Leblanc : Later equals never.(勒布朗法则:稍后等于永不) 对代码的每次修改...

  • 代码整洁之道

    海到无边天作岸,山登绝顶我为峰。作为猿类的我们,对自己创造的代码有着一种天生的无比自信。这是好事~可是,对于我们的...

  • 代码整洁之道

    1.一次只做一件事的原则 除了最外边必要的空判断,少用return操作符。原则如下图所示:一次只做一件事情.png...

  • 代码整洁之道

    一.整洁代码 借用一条美国童子军简单军规:让营地笔记来时更干净 二.有意义的命名 2.7避免使用编码编码已经太多,...

网友评论

      本文标题:2 代码整洁之道

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