《代码大全》读后感

    最近买了几本经典编程书,有《head first 设计模式》《人月神话》《程序员修炼之道》《代码大全》,《代码大全》是第二本看完的。


    看的期间不断有所悟,书中多处让我惊讶「原来是这样子」。不过由于工作之余时间有限,这本大著看了快两个月才完了,现在仅凭印象把之前悟到的写下来,算是总结。

    如果要用一句话概括《代码大全》的话,我以为是「为人写代码,而不是机器」。

    一:为人写代码,势必要考虑代码的扩展性。人是多变的,现实世界也是多变的,所以写代码之前需要设计,也才有设计模式,让你想变就变。

    二:为人写代码,势必要考虑代码的易读性。书中无数次强调变量名的重要性,同样是代码,int i = 5 和 int beautifulGirlsCount = 5 ,虽然这两种代码都能正确编译并运行,但前者需要结合上下文连猜带蒙都不一定理解正确,后者一目了然且看得春心荡漾。

    三:为人写代码,势必考虑代码的逻辑是否简单。在机器面前,人的智力显得太有限。如果代码没有遵循人类能理解的简单逻辑,如if 、for、switch之类,不加限制的使用goto、递归,当代码量到达一定程度,人就没法维护这样的程序。

    四:为人写代码,势必考虑异常的出现。从马士兵老师开始,就告诫我们得把你的用户当魔鬼,魔鬼是不会像我们想象中那样去使用我们的程序的。本书的防御式编程也重申了这点,人是会犯错的,毋庸置疑,重要的是犯错后你怎么抛异常、控制错误的影响范围和补救措施。

    五:为人写代码,势必要将代码写的漂亮。你看印在书里的文章,所有的文字都用标点符号分隔,行与行有间隙,分段,这些文章的排版,在代码里也要有。代码里的缩进、空行、分段,不仅让代码显得有逻辑,也有美感。所以格式化很重要,即使你代码写得很有逻辑,但写得一坨一坨,你也很难让他人忍着恶心看下去。

    这几点的概括显然没办法涵盖八百多页的《代码大全》,不过对于一个刚走在码农路上的我,可以让我消化好一阵子了。在现实世界中,要做到这几点,就更困难了。在看这本书的期间,每天白天在公司里看着前辈留下来那一坨坨的代码,不知何物的mActivity,随处一点就奔溃的系统,我就知道现实跟我一样有多骨感。但是,丰满的理想跟丰满的美女一样,不会突然从天上砸到我身上。好代码是一个个敲出来的,美女也是一步步勾引过来的,这里没有捷径可言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章