这只是推荐规则,要根据实际情况去抉择。
- 函数一定要特别的短小,不能特别长。
因为一般特别长的函数都有很深的缩进结构,长到没有边界的for,while,很多的陈余变量以及紧密的耦合/聚合程度,导致阅读和修改都是相当困难的。 - 函数最好只做一件事,不要做两件事。
- 函数要描述同一个抽象层级下的过程,尽量不要跨越层级。
例如:
买电脑()
{
选择电脑();
攒钱();
确认选择();
购买();
}
而不要写成这样:
买电脑()
{
for (遍历淘宝)
{
if(电脑超过7000元)
...
}
for (遍历京东)
...
选择电脑();
计算需要多少钱();
...
}
- 函数的参数尽量少一些,对于过多的参数可以封装到类中。
- 不要用参数去输出东西。(不是太认同)
- 尽量不要像参数传入bool值等标识参数,这就是告诉其他人这个函数做两种事情,为true则做A,为false则做B。遇到这种情况可以将函数拆开,拆成两个函数,但这可能会造成代码重复。
- 尽量减少代码的重复(对该要求过度偏执有可能造成可读性差)。
- 遇到方法中有特别长的try,for,while等情况,尽量将方法拆开来简短其长度。
- 函数不建议拆的太零碎,不然来回跳转翻着麻烦。