《代码整洁之道》之三 函数
2016-02-08 18:21
239 查看
函数是所有软件的基本单元,也是开发人员在编程时编写的最小模块。所以,《Clean Code》为我们编写函数提供了一些规则。
在编写函数是应该遵守以下一些原则:
1 短小
函数短小的好处就是一目了然,一眼就能看出函数所实现的功能。
再者,在if语句、else语句、while语句等,其中的代码块应该只有一行。
2 只做一件事
函数应该做一件事。做好一件事。只做这一件事。
这句话不难理解,难的是怎么确定函数做的是一件事。
确定函数中的代码是不是在做一件事就看这些代码是不是在同一个抽象层级,这里涉及到一个重要的规则:向下规则,自顶向下读代码。
通俗的来说,程序就像是一系列TO起头的段落,每一段都描述当前抽象层级,并引用位于下一抽象层级的后续TO起头段落。
3 函数参数
函数的参数总是在所难免的,但是没有参数即参数数量为零依然是最理想的情况,其次是一个参数,再其次是两个参数,三个参数的函数就应该想办法避免了,没有足够特殊的理由不要使用三个以上参数的函数。
在这里需要注意的是函数名称和参数名称的命名一定要仔细。
函数不应该出现这种情况:函数名没有提示要修改参数变量的值,但是在函数(或函数所调用的函数)中有对参数值得修改。
4 使用异常代替返回错误码
5 不要重复自己:就是不要重复实现一些功能,如果有就写一个函数再调用它。
6 结构化编程
在编写函数是应该遵守以下一些原则:
1 短小
函数短小的好处就是一目了然,一眼就能看出函数所实现的功能。
再者,在if语句、else语句、while语句等,其中的代码块应该只有一行。
2 只做一件事
函数应该做一件事。做好一件事。只做这一件事。
这句话不难理解,难的是怎么确定函数做的是一件事。
确定函数中的代码是不是在做一件事就看这些代码是不是在同一个抽象层级,这里涉及到一个重要的规则:向下规则,自顶向下读代码。
通俗的来说,程序就像是一系列TO起头的段落,每一段都描述当前抽象层级,并引用位于下一抽象层级的后续TO起头段落。
3 函数参数
函数的参数总是在所难免的,但是没有参数即参数数量为零依然是最理想的情况,其次是一个参数,再其次是两个参数,三个参数的函数就应该想办法避免了,没有足够特殊的理由不要使用三个以上参数的函数。
在这里需要注意的是函数名称和参数名称的命名一定要仔细。
函数不应该出现这种情况:函数名没有提示要修改参数变量的值,但是在函数(或函数所调用的函数)中有对参数值得修改。
4 使用异常代替返回错误码
5 不要重复自己:就是不要重复实现一些功能,如果有就写一个函数再调用它。
6 结构化编程
相关文章推荐
- 关于C++中接口与实现的理解
- javascirpt 用英文逗号替换英文分号、中英文逗号或者回车
- Java基础练习 数列特征
- 不用SWIG,Go使用C++代码的方式
- [Spring实战系列](13)使用注解自动装配
- Java中的wait(),notify(),join()等方法
- Struts2-04-struts2工作原理
- nyist 297 GoroSort
- 什么是透明(和Windows主题有关系),研究TLable和TPanel是两个好例子
- Java compareTo和compare
- eclipse 交叉编译unresolved inclusion:<stdio.h>问题
- NYOJ 题目68 三点顺序
- 先有Delphi内存对象,后有句柄(如果需要的话),最后再显示
- Java Web 错误/异常处理页面
- Sublime Text2 使用VS编译和运行C/C++程序(windows)
- c语言:有一函数:当x<0,y=-1;x=0,y=0;x>0,y=1;编一程序,输入一个x值,要求输出相应的y值。
- CakePHP伪静态规则设置(网址重写代码)
- C# 初触水面
- 终于懂了:FWinControls子控件的显示是由Windows来管理,而不是由Delphi来管理(显示透明会导致计算无效区域的方式有所不同——透明的话应减少剪裁区域,所以要进行仔细计算)
- 【慕课笔记】U3 继承 第4节 JAVA中的final的使用