从另一个角度告诉你单元测试的意义(5)

发表于:2018-02-09来源:袁慎建作者:袁慎建点击数: 标签:
提出的 SOLID 原则: SRP(Single Responsibility Principle),单一职责原则 OCP(Open Closed Principle),开放封闭原则 LSP(Liskov Substitution Principle),里氏替换原则 ISP(Interfac
 提出的SOLID原则:

  • SRP(Single Responsibility Principle),单一职责原则
  • OCP(Open Closed Principle),开放封闭原则
  • LSP(Liskov Substitution Principle),里氏替换原则
  • ISP(Interface Segregation Principle),接口分离原则
  • DIP(Dependency Inversion Principle),依赖倒置原则

同时我们应该尽量避免编写STUPID代码:

  • Sington,单例
  • Tight Coupling,紧耦合
  • Untestability,不可测
  • Premature Optimization,过早优化
  • Indescriptive Naming,胡乱命名
  • Duplication,重复代码

在做设计和编写代码的时候多思考我们是不是在践行GRASP原则:

  • Controller,控制器
  • Creator,创造者
  • High cohesion,高内聚
  • Low coupling,低耦合
  • Polymorphism,多态
  • Indirection,中介
  • Information expert,信息专家
  • Protected Variations,受保护变化
  • Pure fabrication,纯虚构

以上这些原则需要在编码中不断地刻意练习,除了阅读针对性的书籍,在团队中积极组织 Code Review、推动 Pair 来互相学习和改进是一个更有效的方式。

良好的代码设计让我们的单元测试更加容易编写,而要编写有效的单元测试,我们应该对以下几个维度的测试坏味道保持敏锐的嗅觉:

    原文转自:http://sjyuan.cc/significance-of-unit-test-from-other-sight/