美文网首页
代码整洁之道 1-9

代码整洁之道 1-9

作者: Gxgeek | 来源:发表于2018-06-09 14:48 被阅读0次

    第四章 注释

    第五章 格式

    第六章 对象和数据结构
    得墨忒耳定律 (最少知识原则)
    1.每个单元对于其他的单元只能拥有有限的知识:只是与当前单元紧密联系的单元;
    2.每个单元只能和它的朋友交谈:不能和陌生单元交谈;
    3.只和自己直接的朋友交谈。
    火车失事代码
    final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();

    混杂
    一半是对象,一半是数据结构,这是一种糟糕的设计。它增加了添加新函数的难度,也增加了添加新数据结构的难度。
    隐藏结构
    既然取得路径的目的是为了创建文件,那么不妨让 ctxt 对象来做这件事:
    BufferedOutputStream bos = ctxt.createScratchFileStream(classFileName);

    第七章 错误处理
    1、别返回null值。程序中不断的看到检测null值的代码,一处漏掉检测就可能会失控。返回Null,作者认为这种代码很糟糕。建议抛出异常 或者返回特定对象(默认值)。更早的发现问题。同理,也应该避免传递Null值给其他的方法。
    2、在大多数的编程语言中,没有良好的方法能对付由调用者意外传入的null值。我们发布产品应该有容错的机制,程序不能轻易的就崩掉,有异常应该及时记录下来或给出提示。

    第八章 边界
    1、通过接口管理第三方边界,可以使用ADApter模式将我的接口转换为第三方提供的接口。这个是要注意,第三方的代码和自己的代码混合太多,这样不便管理。

    第九张 单元测试
    敏捷和TDD运动鼓舞了许多程序员编写自动化单元测试,单元测试是确保代码中的每个犄角旮旯都如我们所愿的工作。
    TDD三定律

    1. 除非这能让失败的单元测试通过,否则不允许去编写任何的生产代码。
    2. 只允许编写刚好能够导致失败的单元测试。 (编译失败也属于一种失败)
    3. 只允许编写刚好能够导致一个失败的单元测试通过的产品代码。
      整洁的测试 具有 可读性
      构造-操作-检验(BUILD-OPERATE-CHECK)测试代码三个步骤

    每一个测试一个概念
    F.I.R.S.T 整洁的测试遵循以下5条规则:
    1.快速(Fast) 测试应该能快速运行,频繁运行测试,就能今早发现问题
    2.独立(Independent)测试应该相互独立。某个测试不应为下一个测试设定条件,可以单独运行每个测试,及以任务顺序运行测试。
    3.可重复(Repeatable)测试应该可在任务环境中重复通过。
    4.自足验证(Self-Validating)测试应该有布尔值输出。不应该手工对比量不同文件来确认测试是否通过。
    5.及时(Timely)测试应该及时编写。单元测试应该恰好在使其通过的生产代码之前编写,如果在编写生产代码之后编写测试,你会发现生产代码难以测试。

    相关文章

      网友评论

          本文标题:代码整洁之道 1-9

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