每天开心一点

函数的设计规范

2020-08-13 16:36:00    六月    873    来源: https://www.jianshu.com/p/3eea359bda5f

耦合性:

1、尽量通过参数接收输入,以及通过return产生输出以保证函数的独立性

2、尽量减少使用全局变量进行函数间通信

3、不要在函数中改变可变类型的参数

4、避免直接改变定义在另一个模块中的变量

聚合性:

1、每个函数目标是唯一的

2、每隔函数尽量简单


1、短小

函数的第一规则就是短小;

20行的函数是最佳的;

每个函数只做一件事,并且函数都以顺序带到下一个函数,这就是函数应该到达的短小程度。

2、只做一件事

函数应该只做一件事。做好一件事。只做这一件事。

判断函数是否只做一件事,看是否还能在拆分出一个函数;

3、每个函数一个抽象层级

要确保函数只做一件事,函数中的语句都要在一个抽象级上。

自顶向下读代码;

4、switch语句

用抽象工厂来代替;

5、使用描述性的名称

函数的名字正好描述了该函数所做的事;要做到见名知意;

6、函数参数

尽量避免三个参数以上;参数越多测试覆盖所有可能的值的组合就越多;

如果参数过多就该将参数封装成类了;

7、无副作用

还是“只做一件事”的原则;

如果该方法做了两件事一定要在函数名中体现,否则就会发生不可预知的错误;

8、分割指令与询问


9、使用异常代替返回错误码

使用异常代替错误码,错误的处理代码就能从主路径代码中分离出来。得到简化;

抽离出try/catch代码块,做成函数;使用异常代替错误码,新的异常就可以从异常类派生出来,无需重新编译或重新部署;

10、别重复自己

如果过多的重复代码就应该抽取出来;

面向方面编程(Aspect Oriented Programming)、面向组件编程(Component Oriented Programming)也都是消除重复的一种策略。

总结一句: 消灭重复

11、结构化编程

12、如何写出这样的函数

分解函数、修改名称、消除重复


总结:

大师级程序员把系统当作故事来讲,而不是当作程序来写。

真正的目标在于讲述系统的故事,编写的函数必须干净利落地拼装在一起,形成一种精确清晰地语言,帮你讲故事。



作者:chengzhx76
链接:https://www.jianshu.com/p/3eea359bda5f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。