怎样才能让函数表达其意图?该给函数赋予哪些属性?好让读者一看就明白函数是属于怎样的程序?
-
函数短小
函数的第一规则就是短小,第二条规则还是短小,
函数应该有多短小?if语句,else语句,while语句等,其中的代码块应该只有一行,该行应该是一个函数调用语句。这样不但能保持函数短小,而且,因为块内调用的函数拥有较具说明性的名称,从而增加了文档上的价值。
也意味着函数不应该大到足以容纳嵌套结构,所以,函数的缩进层级不该多于一层或者两层。 -
函数只做一件事
函数应该做一件事,做好这件事,只做这件事。
要判断函数是否不止做了一件事,就是看是否再拆出一个函数,该函数不仅只是单纯地诠释其实现, -
每个函数一个抽象层级
自顶向下读代码‘:向下原则’
:我们要让代码拥有自顶向下的阅读顺序,要让每个函数后面都跟着位于下一抽象层级的函数,换一种说法:程序就像是一系列的TO起头的段落,每一段都描述当前抽象层级,并引用位于下一抽象层级的后续To起头段落。 - switch语句
- 使用描述性的名称
- 函数参数
- 无副作用
- 分隔指令与询问
- 使用异常替代返回错误码
- 别重复自己
- 结构化编程
- 如何写出这样的函数
网友评论