函数

函数

怎样才能让函数表达其意图?该给函数赋予哪些属性,好让读者一看就明白函数属于怎样的程序?

  • 短小:短小注意代码块的缩进。
  • 只做一件事情
  • 每个函数一个抽象层级:向下规则,每个函数后面都跟着位于下一抽象层级的函数,查看函数时,能够逐层向下阅读了。
  • SWITH:这个现在支持枚举了,建议在较低抽象层使用枚举。
  • 使用描述性名称:不要担心名称长,长而具有描述性的名称比短小费解的名称要好。也比注释要好,命名的方式要保持一致。
  • 函数的参数之一:最好是零,如果出现3个以上尽量使用对象。不要使用标识参数(true false)
  • 函数的参数之二:避免使用输出参数,避免将输入参数再作为输出参数使用。
  • 分隔指令与询问:函数要么做什么事,要么回答什么事,不可二者兼得。函数应该是修改某对象的状态,或者是返回该对象的有关信息。
  • 使用异常替代返回错误码。
  • try catch代码的抽离:这个规则简单而言,如果出现try关键字,应该是这个函数的第一个关键字,错误处理本身就是一件事情,应该符合只做一件事的原则。在springboot中现在有全局异常处理的功能,用起来还是很爽的,实践经验建议统一处理比较好
  • 不要重复自己:重复是软件中一切邪恶的更远。马丁福勒的重构一书中也提到需要消灭重复,抽象函数。
  • 不要使用goto
  • 写函数和写文章一样,不要指望着一开始就写的很好,可以写完后慢慢打磨出你想要的样子。
分享到