这本书里有很多经验在实际开发中都慢慢摸索了出来或是从其他书籍论坛中学习到过,但是更多的是完全没有意识到和模模糊糊没有形成明确概念的内容:
比如第30章编程工具里有“工具导向的环境”这样的内容,虽然在开发过程中会有意识地去制作一些工具,但是没有形成如书中这样明确的工具导向的开发方式;
再比如第25章代码调整策略里关于性能优化的内容,我在以前项目和现在项目中都做过不少的性能优化,也慢慢地和书中提到的一样,重视定量的数据优化对比,但书中所说的“反复调整”这样的建议又更进了一步;
此外,很多以前完全没有想过的区域也让我的眼界又得到了增长——即使这是一本十来年前的书:
例如第一部分打好基础,这一部分重点讲解了在软件构建前的准备工作,由于我实际开发时间不够长,也没有经历过完全空白的立项项目,这一些内容对我而言几乎是完全没有想过的,里面出现的思考方式和思考内容也让我耳目一新。
又例如软件工艺这一部分,主要讲在程序本身之外的内容,包括程序外的文档、程序本身的布局、程序内的注释、程序员的性格对写代码的影响等等,以前我几乎都是完全瞎搞。
三、书里要传达的最重要的几个信息
不过比起前面那些来,最重要的还是书里无时无刻不在提醒读者的几个优先原则:
永远以解决问题为导向,而不是仅仅完成任务。这一条的内容非常广泛,从最低级的写好一个功能,到给具体的需求排优先级,甚至到明确真正的需求,到调整开发节奏,一切都由实际的需求和开发能力决定,最终的目的只有一个,那就是解决真正的问题;
把程序员当人看,不仅仅是把其他同事当人看,也要把自己当人看。人是会出错的,团队是需要磨合的,人永远不能跟机器比运行效率,但人比机器更有创造性。
写代码永远优先保证其他程序员能看懂,机器不在意代码有多难懂,对它而言,写的格式再差、写的效率再低,机器都能运行——但是其他的程序员(包括过上半个月一个月的你自己)不能;
反复迭代和尝试,在实际情况下,人往往做不到一次就成功,即使一次就成功,那也未必是最优的,一定要多进行迭代和尝试,才能获得最优的效果。
保持清晰的思路,只有在清晰的思路下,才能理解问题理解代码——如果你已经无法保持清晰的思路,那么还不如先放松一下,让大脑冷静下来,然后完成更高的质量。
四、结语
书里还给出了非常多好的建议,无法一一列举,这是一本非常适合新手程序员变得“老练”的书籍,让你在遇到问题时有更清晰的思路,在刚工作的前几年里非常适合阅读一下。
获益良多,再次感谢作者。