背景:上班咸鱼的实在是太无聊了!!!我都咸鱼好多天了。。。把之间看的这本书的重点整理成文章吧!
一、整洁代码
1.1 代码乱的原因:
1、很多情况,敢工期,代码写的乱七八糟,特性越来越多,最后加上,开发人员的人员流动,代码几乎无法管理。(最近公司一个小医院的几年前的项目的支付功能,需要增加一个一键支付的功能:代码杂乱无章,没有代码风格,没有代码章法,由于之前支付出过各种问题,但后为了兼容这些问题,增加了大量的代码规避这些问题,然后落到我手上,这个代码几乎就根本无法维护了,导致这个一键支付的功能迟迟上不了线,被客户多次抱怨)
2、稍后等于不。(在上家公司,见过一个人写的代码,代码写的很乱,代码后面注释说:等以后有时间重构,结果,直到他离职,都没有重构。。。)
1.2 混乱的代码
项目初期会进展迅速,但是之后,会慢如蜗牛,每次修改都必须要对这些糟糕的代码的所有了然于心,否则几乎无法修改,而且,你也只能在一个废柴里扔更多的废柴,让其更加难以维护。
1.3 如何整洁的代码呢
1、应该尽可能始终保持代码的整洁。
2、写整洁的代码,需要遵循大量的小技巧。
3、很多人直到代码写的乱,但是又不知道如何优化。(我以前就很有这种感觉,明知道代码乱,但是很无力,不知道如何修改)
4、整洁的代码应该让人看起来,直到写这个代码的人对这个代码很在意,有一种在意感。
5、没有重复的代码。
6、尽可能少的实体:比如类、方法、函数等。
7、检查对象或方法是否做的事情过多,如果过多,最好切分为多个对象,如果方法功能太多,就抽取extract method重构,从而通过增加的这个方法的方法名,简单了解到整个大方法做了哪些事情。
二、有意义的变量名
- 命名是很严肃的事情,往往修改很多次都不为过,如今开发工具很先进,修改变量名的代价变得很低。
2、选命名要花时间,但是省下来的时间比花掉的更多,而且一旦发现有更好的命名,就换掉旧的,这样做,读你代码的人会很开心。
3、 代码的名字应该告诉你,它为什么存在、它做了什么事情、它应该怎么用,如果名称需要用注释来补充,那就不算名不副实。
比如:名字可以长一点,比你短名但是描述不清楚你是谁更好。
4、避免误导。变量的命名不能让人产生误导,不如,list会直接让人联想到这是list列表。比如两个变量名区分多不高,让人花时间区分两个变量名谁是谁上。
5、相似的名称的方法可以放到一起,并且依据字母的顺序排序,这样,当我们通过开发工具,查看方法的时候,差异会很明显,而且不看注释,就知道应该调用哪个方法。
6、变量名一定要有意义,不能因为变量名不能重名,就后缀1、2这种命名。
7、废话都是冗余,比如:表的命名,一tb或者t等作为前缀,String类型的以string或者str作为后缀等,因为这都是废话。
8、使用可搜索的名称。(这个看情况,如果本地变量大不必如此,很重要的controller方法,便于后期搜索你可以去一下区分度高的命名,便于后期搜索查询。)
9、类名应该是名词,方法应该是动词。
10、查询方法列表的时候,比如idea的f12,eclipse的ctrl+o,都不会把方法上的注释给你展示出来,所以方法的所有过于依靠注释,那么将很难寻找。
11、不要添加没用的语境,比如,你的类名是address,然后这个类名下的所有方法都以address作为前缀,这完全没必要。