一、意义
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.无副作用
函数的名称一定要和它所做的事一致,并且不要做多余的事。如:更改全局变量,在函数内部调用同级函数等。
例:用户更新密码,那么要判断新旧密码是否一致,这时候最好把校验和更新分开,不要在校验里判断不一致后更新密码,这可能会导致很严重的后果