从另一个角度告诉你单元测试的意义(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 来互相学习和改进是一个更有效的方式。
良好的代码设计让我们的单元测试更加容易编写,而要编写有效的单元测试,我们应该对以下几个维度的测试坏味道保持敏锐的嗅觉: