这周我开始读《代码大全2》,现在已经读了该书的1-12章,将对我比较重要的部分整理如下:
第一处是前期准备的重要性。在项目的初期、中期、末期都要考虑质量。这点我是深有感悟的,自己以前都是一直堆代码,直到写完了才运行开始找错找bug,可是这样做的效率并不高。会花费很多的时间去找错。可是如果自己一开始就注重项目的质量,那么就会写完一小段代码就运行一下,看有无差错,这样一来,就会效率很高。
第二处是管理复杂度的问题。首先要做的就是不要用复杂的方法解决简单的问题,保持程序的短小精悍能帮助你减少思考的负担,从问题的领域着手去编写程序,一个程序员的底线就是要写出既让自己容易理解,也能让别人看懂而且很少有错误的程序代码。
第三处是良好的封装。感觉自己现在写的代码不太注意这块儿,总是一起放在一个函数里,不太注意对一些私用细节的保护,要么就是封装不到位,真正的封装是看不见任何实现细节的,无论字面与喻意都要隐藏起来。
第四处是关于类的问题。避免创建万能类,消除无关紧要的类。自己在这点存在很多的问题,总是把所有功能写到一个类里,结果弄得很乱,一旦出错,整个程序都不能运行,所以啊要一次只做一件事,一个类尽可能地只实现一个重要功能就行了。另外一个就是有的时候会出现这道题不需要类,可是自己为了显得高深一点,愣是把它塞进一个类里,结果这个类只有数据而无行为,无关紧要,自己也多此一举,画蛇添足。
第五处是学会创建子程序。创建它的原因就是为了降低程序的复杂度,可以缩小代码规模,改善维护性、提高正确性。它还有一个很重要的作用就是避免代码重复,我经常会出现这样一个问题,就是发现自己在写这段代码的时候发现上面那段程序也需要这段代码,自己不得不又写一遍。可是如果用了子程序的话,就可以把两段代码的重复部分提取出来,将其中相同部分放进一个类中,这样的话既可以节约空间,代码改起来也很方便,只需要修改一处即可。