代码整洁之道

引言:

改好一个变量名

拆分一个过长的函数

消除一点点重复

清理一些if嵌套语句

...

 

命名

不好的案例:

(a1、a2、......aN)

 

使用读得出来的名称

不好的案例:

genymdhms这个变量表示生成的年月日时分秒,着实让人蛋疼

好的案例:

generationTimestamp这样读起来就顺口了

 

类名和对象命名的特点

应该是名词或名词短语,如Customer、WikiPage、Account和AddressParser。

 

方法名的特点

应该是动词或动词短语,如postPayment、deletePage或save。或者加上get、set、is前缀。

 

给每一个概念对应一个词,并一以贯之

例如,使用fetch、retrive和get来给多个类中的同种方法命名。

而在同一堆代码中有controller又有manager还有driver,就会令人困惑。

 

添加有意义的语境

添加前缀

例如,都是地址中的一组变量,可以这样addrFirstName、addrLastName、addrState

如何写好函数?

 短小

(函数不该有100行那么长,20行封顶最佳)(每个函数都只做一件事情,每个函数都依序把你带到下一个函数)

 

只做一件事

(做好这件事,只做这件事。)

(拆分大函数时,理清大函数做了哪些事情,哪些可以独立出来。)

 

每个函数一个抽象层级

(函数中的语句应该在同一个抽象层级上)

(自顶向下读代码,让每个函数后面都跟着下一抽象层级的函数)

----学着自己分析代码的优点和缺点,这个过程不是做笔记做来的。要靠大脑思考。

 

函数参数

最理想的参数是零(零参数函数),其次是一,再次是二,避免三。

一元函数,就是有一个参数的函数。

二元函数,就是有两个参数的函数。

 

作者的好习惯

我写函数时,一开始都冗长而复杂。有太多的缩进和嵌套循环。有过长的参数列表。名称随意取,也会有重复的代码。(通过单元测试,修改之,提取出来进行修改)

打磨代码,分解函数、修改名称、消除重复。有时还会拆散类。(保持测试通过)。

点评:其实这有种重构的感觉了。追求美的代码。写完了不等于完事了,还要多多修缮代码。好习惯,在于一点点积累。阅读,分析,揣摩。这一点,很像写文章。

 

 

 

 

..

 

你可能感兴趣的:(代码)