《Clean Code-代码整洁之道》
2022-04-21 本文已影响0人
编程放大镜
里式替换原则:LSP, Liskov Substitution Principle
类的设计原则:SRP(单一权责),鉴别权责(修改的理由),让类更短小;
单一权责原则 SRP,Single Responsibility Principle:只有一个需要修改的理由。
开放闭合原则:OCP,Open Closed Principle
switch 语句:确保switch 语句埋藏在较低的抽象层级,而且不重复。可以利用多态来实现。将 switch 语句埋到抽象工厂底下,不让任何人看到。该工厂使用 switch 语句为对应的派生物创建适当的实体。switch 中需要调用的不同函数,则借由 实体的抽象接口多态地接受派遣。
对 switch 语句,规矩是如果只出现一次,用于创建多态对象,而且隐藏在某个继承关系中,在系统其它部分看不到。
扩展:使用抽象工厂封装switch;使用反射消除switch(反射+简单工厂);
扩展阅读:https://segmentfault.com/a/1190000010846788 (控制反转,依赖注入)
使用描述性的名称
沃德原则:「如果每个例程,都让你觉得深合己意,那就是整洁代码。」
函数参数
函数参数最好保持在两个以内,有足够特殊的理由才能用三个以上的参数。
参数对象
如果函数看来需要二个、三个或三个以上参数,就说明其中一些参数需要封装成类了。
动词与关键字
一元函数:函数和参数应当形成一种良好的动词/名词对形式。如:write(name),更好的是 writeField(name)
无副作用
函数需要无副作用,只做一件事,任何其他隐藏起来的事,如:对类中的变量做出未能预期的改动,都是具有破坏性的,会导致古怪的时序性耦合及顺序依赖。