代码整洁之道总结

1、整洁的代码力求集中。每个函数、每个类和每个模块都全神关注于一事,完全不受四周细节的干扰和污染。
2、不要重复代码,只做一件事,表达力,小规模抽象

一、有意义的命名
1、命名需要名副其实,一旦发现有更好的名称,就换掉旧的。如果名称需要注释来补充,那就不算名副其实
2、以数字系列命名(a1、a2…aN)是依义命名的对立面,名称纯属误导,完全没有提供正确信息
3、使用可搜索的名称,便于在项目中快速找到对应变量
4、避免使用缩写,如接口的命名以I开头,可以直接把I去掉
5、类名不应当是动词
6、方法命名应当是动词或动词短语

二、函数
1、函数的第一规则是短小,第二条规则还要更短小,20行封顶最佳
2、只做一件事:函数应该只做一件事。做好这件事。只做一件事
3、使用描述性的名称:别害怕长名称。长而具有描述性的名称,要比短而令人费解的名称好。长而具有描述性的名称,要比描述性的长注释好,不要害怕花时间取名字
4、函数参数:最理想的函数参数数量是零,其次是单参数,再次是双参数,应尽量避免三参数函数
5、我们惯于认为信息通过参数输入函数,通过返回值从函数中输出。我们不太期望信息通过参数输出
6、标识参数丑陋不堪。向函数传入布尔值,如果标识为true将会这样做,标识为false就会那样做。应该把该函数一分为二:一个是true的方法一个是false的方法
7、二元函数:两个参数的函数要比一元函数难懂,例如writeFiled(name)比writeFiled(outputStream,name)好懂。
(1)我们可以把writeFiled方法写成outputStream的成员之一,从而能这样用:outputStream.writeFile(name)。
(2)可以把outputStream写成当前类的成员变量,从而无需再传递它
(3)可以分离出类似FiledWriter的新类,在其构造器中采用outputStream,并且包含一个write方法
8、参数对象:如果函数看来需要两个、三个或三个以上参数,就说明一些参数应该封装为类了
9、使用异常替代返回错误码:使用异常替代返回错误码,错误处理代码就能从主路径代码中分离出来,得到简化。调用者必须在调用之后即可检查错误,这个步骤容易被遗忘,遇到错误式,最好抛出一个异常
10、错误处理就是一件事,如果关键字try在某个函数中存在,它就该是这个函数的第一个单词
11、若某个函数调用了另一个,就该把他们放到一起,而且调用者应该尽可能放在被调用者上面
12、不要返回null:如果你打算在方法中返回null值,不如抛出异常,或是返回特例对象。如果你在调用某个第三方API中可能返回null值得方法,可以考虑用新方法打包这个方法,在新方法中抛出异常或返回特例对象
13、不要传递null值

三、注释
1、带有少量注释的整洁而有表达力的代码,要比带有大量注释的零碎而复杂的代码像样的多。与其花时间编写解释你搞出的糟糕代码的注释,不如花时间清洁那堆糟糕的代码
2、用代码来阐述,很多时候,简单到只需要创建一个描述与注释所言同一事物的函数即可
3、用整理代码的决心替代创造废话的冲动
4、能用函数或变量时就别用注释


版权声明:本文为zhujian82637原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。