王争《设计模式之美》学习笔记
其余技巧
把代码分割成更小的单元块
- 大部分人阅读代码的习惯都是,先看整体再看细节。
- 将大块的复杂逻辑提炼成类或者函数,屏蔽掉细节,让阅读代码的人不至于迷失在细节中,这样能极大地提高代码的可读性。
- 如果提炼出的函数只包含两三行代码,在阅读代码的时候,还得跳过去看一下,这样反倒增加了阅读成本。但是作者在后面一个例子就把一串ifelse分成三个只有两三行代码的小函数。迷惑。。。
避免函数参数过多
- 函数包含 3、4 个参数的时候还是能接受的,大于等于 5 个的时候,就有点过多,影响代码可读性,使用起来也不方便。
- 一般有两种解决方法:
- 考虑函数是否职责单一,是否能通过拆分成多个函数的方式来减少参数。
- 将函数的参数封装成对象。这种我比较常用,尤其是一组同类参数,封装成对象是最好的,参数有增减也方便。
勿用函数参数来控制逻辑
- 不要在函数中使用布尔类型的标识参数来控制内部逻辑,true 的时候走这块逻辑,false 的时候走另一块逻辑。这明显违背了单一职责原则和接口隔离原则。我建议将其拆成两个函数,可读性上也要更好。
- 不过,如果函数是 private 私有函数,影响范围有限,或者拆分之后的两个函数经常同时被调用,我们可以酌情考虑保留标识参数。比如根据标识参数