一、意义

1.好的代码就像艺术,让人心情愉悦
2.好的代码易于维护,提升效率
3.差的代码让人不想维护,越写越烂,降低效率,最后没人能看得懂导致重构
4.程序员遵从不了解混乱风险的经理的意愿,是不专业的做法

二、什么是整洁的代码

1.消除重复
2.提高表达力(语义清楚)
3.只做一件事
4.小规模抽象
5.易于拓展

三、实践

1.阅读大量代码

对代码进行分析,你能否一眼看得懂一段代码是在干嘛,仔细思考有没有更好的方式、命名

2.命名

1)名副其实

好的命名,要带入语境,它该告诉你,在这个语境里,它为什么存在,它做了什么事,应该怎么用;名字要与内容一致,并且最好每个概念对应一个词

2)避免误导

如:不是数组最好不要用list命名,可以用group或复数代替

3)做有意义的区分

如:product和productInfo、productData完全让人感觉不到区别,相当于废话,废话都是多余的
要区分名称,就要以读者能不能鉴别不同之处的方法来区分

4)命名长段

作用域越大,命名长一点,有助于搜索
如:我们在作用域围使用I、j和k没有问题,但如果作用域稍大一点就很容易让人混淆;再比如用name做变量,你一下能搜索出几十个相同的命名

5)一脉相承

3.函数

1)短小

2)只做一件事

1.如何判断函数是否只做了一件事呢?
关键看函数的内容是否为同一级的抽象,如:用户要创建一个活动,我们可以分为三部,一获取用户信息,二判断用户权限,三调用接口。我们可以理解为这三个步骤是同一个层级,都是为了创建活动的子步骤,那这里就只有三个步骤函数的调用,然后三个步骤的子级另做拆分。当然如果某一个步骤只是简单的做了一下诠释:如:获取信息只是一个简单的赋值;判断用户权限只是做了一个if判断,那也是没有必要单独做拆分
2.无副作用
函数的名称一定要和它所做的事一致,并且不要做多余的事。如:更改全局变量,在函数内部调用同级函数等。
例:用户更新密码,那么要判断新旧密码是否一致,这时候最好把校验和更新分开,不要在校验里判断不一致后更新密码,这可能会导致很严重的后果