1、短小;
2、只做一件事情;’
3、每个函数一个抽象层级;
4、switch语句
5、函数使用描述性质的名称;
6、函数参数;最理想是 0 ,其次是 1,再次是 2 ,应该尽量避免3 有足够特殊的理由才可以使用3个以上,否则不要这么做;
7、无副作用,即这个函数不影响外部其他调用; 输出参数 ,普遍而言,应避免使用输出参数。如果函数必须要修改某种状态,就修改所属对象的状态。
8、分隔指令与询问,函数要么做什么事情,要么回答什么事,但二者不可兼得。函数应该修改某对象的状态,或者返回该对象有关的信息。
9、使用异常替代返回的错误码,有个好处,错误处理代码就能从主路径代码中分离出来,得到简化。但是Try/catch代码块不好看,所以最好把try和catch代码块的主体部分抽离出来,另外形成函数。错误处理就是一件事情,函数也是一件事情,因此,处理错误的函数不应该做其他事情。避免了error。java依赖磁铁。
10、别重复自己;
11、结构化编程,每个函数,函数中的每个代码块,应该有一个入口,一个出口。每个函数应该只有一个return语句,循环中不能有break,和continue(这个其实没必要)。
12、如何写出这样的函数 记住,好的代码是改出来的,我们需要不停的打磨这些代码,分解函数,修改名称,消除重复,我们并不从一开始就按照规则写函数,没有人能做到,重要的不断回滚,对比,修改。