项目收尾阶段,自由时间相对充裕些,所以买了《代码整洁之道》等五本编程规范的书籍,边学习,边整理以前做过的代码,希望以后能不用反复整理,就能写出出色的项目代码。
以下是学习到的一些规范整理:
1.变量,函数等的命名要可读(英文拼写,驼峰式);一定不要用简单的字母,或者a1,a2这种,同时尽量不要用缩写;命名的详细程度(拼写)和它的作用域大小相对应;但是表述同样语境用词越少越好,精——简
2.同样是精——简,函数内容应当尽量简单明了,复杂的case判断,最好写成语句或函数赋予给一个bool标识符,加上少量注释,或者说标识符的拼写能够直接表达;函数内的if,while,else这些语句的缩进要尽量减少,不多于两层。
函数应该做一件事。做好这件事。只做这一件事!
3.写成只停留在一个抽象层级的函数
4.最理想的函数参数数量是零,其次是1或2,最好不要用三个以上的参数
5.函数和其参数最好形成明显的动车/名词对形式
6.this远比输出参数的方式要好,函数的参数最好只是输入参数,不然可读性差
7.拒绝使用返回错误标识,而是用抛出异常来表示;不在函数中直接使用try/catch,而是一个函数只有try/catch一个抽象功能,而后这个功能用一个函数描述,抛出这个异常。即函数只做一件事
8.别给糟糕的代码加注释,直接重写吧!,需要加过多的注释,本身就是一种失败,因为编程就是一种表达方式。注释如果跟不上程序的更新节奏,陈旧的注释可信度非常低
9.循环中的控制变量总是在循环语句中声明;实体变量总是在类的顶部声明。
10.相关函数:若某个函数调用了另一个函数,应该把它们放到一起(我更倾向于编程时思考每个功能,按抽象层级先构建函数声明和返回值,然后逐步完善内容,这样相关函数自然垂直距离更近)
11.德墨忒尔定律,模块不应了解他所操作对象的内部情形,即不要开火车(A.f().g().h()),避免一步错,步步错。类似A.b.c.d还可以。
12.别返回null值
13.API学习之道:*学习性测试*
14.整洁测试的要素:可读性,可读性,可读性!
15.测试步骤:构造——操作——检验
16.断言
17.整洁测试遵循的五条规则(FIRST):快速,独立,可重复,自足验证,及时。
18.自顶向下
19.