《代码大全》和《重构》读后感

最近一段时间看了很多书,有一些囫囵吞枣,但是开拓了一些眼界。为了更好的温习看过的内容,写一下读后感还是很有意义的。

作为一个普通程序员,看两类书就可以了。一是代码大全这类的,教你如何写出规范的代码。二是编程珠玑这类,教你如何用逻辑去思考和解决程序算法问题。

最早看的两本书是代码大全和重构。不涉及到太多应用技术。主要介绍为什么可读性代码很重要,如何写出可读性和复用好的代码。

代码大全真的是大而全的百科全书。整个书基本都翻了一遍,因为是和重构一起写读后感,所以就说一说相关的章节。关于变量名,函数名的命名等问题,代码的清晰,重用性以及性能取舍问题。每一章节针对一个主题都讲得非常详细。可以很好的指导写出良好的代码。

好的函数应该只做一件事情,并且把这件事做好。所以好的文章也是只讲一方面,并尽量把一方面讲好。

重构这本书我看得很快,因为之前我看过该作者的《敏捷软件开发》这本书。重构看完之后我写过一个ppt,给同事们分享了一下学习心得。主要是为了温故自己掌握的东西是否正确,我总认为有些东西只有能够清晰的说出来才算是真正深刻的掌握了。我也希望学到了新的东西能与大家分享,验证是否有些地方理解得有偏差。

重构在我看来,不是一门技术,而是一种写代码的习惯,不是一定要去改造现在系统的代码才是重构,而是可以应用到你写的每一行代码中。如果把软件的组成分为模块,包,类,子程序,块和变量的话。那么如何写出好代码,就是从这些基本的元素入手。

我分享的是我的读后感,一方面是推荐大家阅读这些书籍,一方面分享我读完的收获。我现在养成了一种习惯:写下的每一行代码时候,一个函数或者变量,总是会斟酌是否能够更好,函数的意图是否清晰,函数名字是否符合一般的标准(如动宾结构,不完全都是这样的结构),函数的循环和条件判断是否嵌套太深等等。完成一件事情的方式有很多,如何高效而优雅的完成是一门学问,一种习惯。就像比尔盖茨讲过,很少有程序员在编码了多年以后,突然会去关心哪个地方的代码写的是否清晰,哪个循环是否可以更加高效。早期养成一个好的代码习惯是一件难能可贵的事情。知道什么样的代码是好代码是重构的前提。翻一番重构这本书的那一章,你会有一些收获。好的代码就是一件艺术品。你也可以从别的开源的库和源码中找到灵感,学习的过程就是多看多练多思考。

虽然很多讲数据结构和算法的书上满是I,j,k这样简短的变量名。但是这些书的作者已经清楚的陈述过,那仅仅是因为自己的代码简短,为了方便而已,如果在大的工程项目中应该使用更有效的名称。最后讲一讲注释。注释强调的是为何而做而不是怎么做,因为你的函数就是怎么做的最好的注释。当然一些特殊的变量或者退出条件可以适当的添加注释以增强程序的可读性。变量和函数的名字一般来说是可以读出来的,如果你的变量和函数都不能用英语表达出来,那你写出来的东西基本就是没有人能看懂了。至于程序可读性的重要性,我忘记是哪本书上看到的很极端的又很恰当的一句话:程序写出来是给人看的,附带能在机器上运行。关于复用,正因为你前面的函数只做好一件事情,所以他们之间不会有重叠,并且你想拥有新的功能的时候,只需要组装他们。

如果希望自己的代码让人看着赏心悦目赞叹不已,具有高度的可读性和可维护性,让后期的开发和维护人员不嘲笑你埋怨你,你可以尝试看一下这两本书。

你可能感兴趣的:(《代码大全》和《重构》读后感)