《clean code》读后感
一、简洁的重要性
代码为何要简洁,首先,当然是第一眼看上去就会很舒服。其次,代码简洁意味着它的可读性就更高,结构更加清晰,也就更容易维护。
一篇代码的可读性是非常重要的。在日常的开发中,读和写的时间占比高达10:1。我们大部分时间都是在读别人的代码,通过读代码了解之前的业务是如何实现的,才能做到合理的修改或扩展。
所以,如果不能做到好的可读性,那么整个项目的开发就会变得迟缓且难以维护。
二、如何实现简洁
1.命名
命名是非常重要的,它必须具体、准确,非常清晰地向读者展示当前变量/方法/类的作用是什么。
不要担心一个方法的方法名过长,一个长的具体的名字远比一个短但是模糊不清的名字要好得多。
2.函数
首先,函数要短小,一个函数以20行封顶最佳,最长也不能超过一个屏幕,那样就太难以阅读了。而且,一个函数中的嵌套层次最好维持在一层或两层。
其次,函数要只做一件事,不能有副作用。
“每个函数一个抽象层级”。这句话有些难以理解,即函数中的语句都要在同一抽象层级上。其中不能有更加底层的操作,那应该写做另一个函数,更不能调用更高层级的函数。
函数的参数数量最理想的情况下是零,其次是一,再次是二,应尽量避免三个以上的参数。参数的数量越多,理解起来难度便越大。
3.注释
代码要做到自解释,尽量避免无用的注释。因为注释存在的越久,离其所描述的代码越远,这是因为注释总是不能跟着代码变动,它常常会和所描述的代码分离开来。
有些注释是好的注释,比如代码中有一些看上去似乎不合理的地方,但其实这么写其实是很重要的,可以在注释中解释为何要这么写。
4.格式
格式是很重要的,不过现在的IDE都可以做到代码自动格式化。但除了这个,也有一些很重要的原则。
自上而下
如果一个方法调用了另一个方法,那么被调用的应该写在它的下面。这样一篇代码读下来应该是很顺畅的,并不会突兀的出现一个方法。即较高层级的写在上面。
空白行
空白行应该隔开两个独立的概念。同理,紧密的代码应该对应着紧密的联系。
垂直靠近
一个方法的调用方应该与被调用方靠近,这样读者就能确信函数声明总会在其调用后很快出现,这极大地增强了可读性。
变量的声明也应该尽量靠近其使用的位置。
三、总结
书中还强调了一些内容,但是目前对于这些还并不能很好理解,希望以后再读此书时能豁然开朗。