《Clean Code》之函数
1. 短小
每个函数都一目了然。每个函数都只做一件事。并且每个函数都依序把你带到下一个函数。这就是函数应该达到的短小程度。函数的代码块缩进层级不该多于一层或两层。这样的函数易于阅读和理解。
2. 只做一件事函数应该做一件事。做好这件事。只做一件事。函数只是做了该函数名下同一抽象层上的步骤,则函数还是只做了一件事。
3. 每个函数一个抽象层级自顶向下读代码——向下规则:要让每个函数后面都跟着位于下一抽象层级的函数,这样,在查看函数列表时,就能按照抽象层级向下阅读了。
4. 使用描述性名称长而具有描述性的名称要比短而令人费解的名称好。长而具有描述性的名称,要比描述性的注释好。
5. 函数参数最理想的参数数量是零。参数与函数名处在不同的抽象层级,它要求你了解目前并不特别重要的细节。从测试角度看,参数越多越难测试。
6. 无副作用函数承诺只做一件事,但还是会做其他被藏起来的事,这些事都是具有破坏性的,可能导致古怪的时序性耦合及顺序依赖。
7. 分割指令与询问函数要么做什么事,要么回答什么事,但二者不可兼得。
8. 使用异常替代返回错误码使用异常处理替代返回错误码,错误处理代码能从主路径代码中分离出来。
抽离try/catch代码块,它们把错误处理与正常流程混为一谈。下面的写法更优雅: public void delete(){ try{ deletePage(); } catch (Exception e){ logError(e); } } private void logError(Exception e) { } private void deletePage() { } 错误处理就是一件事 9. 别重复自己 10. [...]
浙公网安备 33010602011771号