《代码整洁之道》读后感

当老师提到要读书的时候,我便想到了这本书,因为我比较注重基础,觉得只有将基本的知识掌握的十分牢固才能更好的学习,所以我没有去看架构,也没有去读设计模式而是选择了这本书——《代码整洁之道》。我始终觉得自己写的程序并不是好的程序,始终停留在菜鸟的阶段,读完书之后我发现,我的想法是对的,自己的代码确实不够看。拿最简单的例子注释来说,我相信,到现在为止,大部分同学的代码还是没有注释的,就算有也是处在两种极端,要么少的可怜,没有丝毫重点,看了也看不懂,要么多的吓人,还不如去看代码方便。事实上,几乎每个人都告诉你“代码记得要写注释呀!”,我们也知道注释的重要性,然而,这个注释怎么写,写在哪里,写多少字,有没有什么格式要求,却从来没人说过。大多数人写的注释都是“自由发挥”,然而,写程序是一件严肃的事,一件严肃的事需要规矩的约束。这本书便讲述了这些规矩,“讲规矩”也正是本书的目的,规矩能约束着你的代码,使它成为整洁优秀的作品,同时使你成为更好的程序员,读完这本书我觉得收获很大,因为书中大部分东西都能马上应用到我们的日常学习中。

书中介绍的都是大家会做的事,如变量命名、写函数、写注释、定义类和异常处理等,有些同学对这些可能会十分不屑,因为大家都会做,读这本书之前我也这样想,最起码我觉得虽然有错,但不会错的很离谱,然而,读完这本书后,我发现自己高估了自己,就这些东西来讲,从入学开始到现在,我没有一点的成长,原因很简单,因为从来没有学习并练习过,两年来,我只专注于让代码实现功能,经过两年的学习,我能写出有更多功能的代码,然而,错的始终是错的,重复错误只会让自己习惯错误,而不会让错误的事变成正确的事。举个例子,就命名来讲,以前一直用“abc”,之后因为变量变多了,便用拼音,或许这算是进步,不过函数的命名呢?类的命名呢?我承认,貌似还是“abc”,或者用只有自己看的懂的字符串。然而,真正的命名需要考虑很多,好的项目需要考虑的因素我都没有想过,还是那样,只要实现功能就好。读这本书,学习书上的一个个例子,让我对命名有了新的理解,让我知道了要怎么做。

对函数或类的设计大家都不陌生,那么大家也都应该有过这种情况:将之前写的一段代码复制粘贴到同程序的另一个函数使用。遇到这个事的原因是程序的部分功能重复。讲道理,这对程序功能的实现没有任何的影响,尤其是我们现在写的小程序,影响程度完全可以忽略。然而,当我们走出学校,开始为大的工程写程序时呢?这个问题我们要尽早解决,要提前养成好的习惯。解决这个问题的办法大家都知道用书中的话说就是:“函数只应该做一件事情,把一件事情做好,而且只由它来做这一件事情。”然而,空讲大道理是没用的只有和实际的例子结合我们才能真正的知道如何去做,书中便有很多的举例能让我们参考对照,从而掌握其中的技巧。与函数相似的还有类,类要保持单一权责原则,应该尽量短小。

在去年的网设课程中,曾拿网上下载的网页源代码与自己写的对比,发现即使是实现相同功能的一段代码,模板写的也比自己写的多得多,而将那些多余的代码删除后,程序仍能正常工作,当时很疑惑,之后才了解,那些多余的代码是为了应对各种情况如浏览器的不同而设计的。当时便明白,教学和工程之间的差距好大,还是那句话教学是只要实现功能就好,而真正的工程还要考虑其他更多的东西如异常的处理,接触了java之后才意识到处理异常的必要,可即使如此,生活中写代码时用的也很少,自然谈不上去练习并熟练使用,读这本书时,也读到了异常处理的部分,本书中对异常处理的描写非常好,其中提到,整洁的代码中对错误的处理应当是被分离的关注点(不要跟正常的业务逻辑混杂在一起),而面向对象中的异常机制就是一种在不打乱原有业务逻辑的前提下处理掉程序在运行时发生的不正常状况的手段。还有众多让人受益匪浅的观点。

神在细节之中,一段段代码是组成程序之屋的砖,只有砖块够结实,房屋才会兼顾,所以我认为《代码整洁之道》是每个立志成为好的程序员的人必读的书,也应该是首选要读的书。作者曾嘲笑低水平的编码者为“代码猴子”,而这本书的作用,正是给猴子加上腕带,规定其写出整洁的代码,成为模范童子军。最后引用第一章的一句话:“阅读本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,我们需要更好的程序员。”

posted @ 2016-06-19 20:37  史兴辉2014301500383  阅读(495)  评论(0)    收藏  举报