与以前读过的《重构》一样,这本书里有很多经验在实际开发中都慢慢摸索了出来或是从其他书籍论坛中学习到过,但是更多的是完全没有意识到和模模糊糊没有形成明确概念的内容:
例如第30章编程工具里有“工具导向的环境”这样的内容,虽然在开发过程中会有意识地去制作一些工具,但是没有形成如书中这样明确的工具导向的开发方式;
此外,很多以前完全没有想过的区域也让我的眼界又得到了增长——即使这是一本十来年前的书:
例如第一部分打好基础,这一部分重点讲解了在软件构建前的准备工作,由于我实际开发时间不够长,也没有经历过完全空白的立项项目,这一些内容对我而言几乎是完全没有想过的,里面出现的思考方式和思考内容也让我耳目一新。
又例如软件工艺这一部分,主要讲在程序本身之外的内容,包括程序外的文档、程序本身的布局、程序内的注释、程序员的性格对写代码的影响等等,以前我几乎都是完全瞎搞。
第一部分是打好基础,本部分主要是软件构建前期的工作,以及对一些基本概念的介绍,具体包括如何选择编程语言和构建实践方法,如何理解软件开发的过程。软件开发本质上说就是工程,书中用建筑工程对其作比喻。不过由于软件产品本身的特性,使其需求产生变化的可能性很大,因而也产生一系列需要额外考虑的问题(否则的话,直接套用现在的工程方法就OK了)。
第二部分是创建高质量的程序,第三部分是变量,第四部分是语句。这三个部分是对语言层进行说明。
第二部分从整个程序的角度,包括构建类的考虑因素,创建子程序需要注意的地方,以及如何进行防御式编程。个人以为防御式编程是很重要的,不光是可以保证程序现在的正确性,同时也可以较长时期保证程序不至于出现大的问题。由于防御式编程,所以可以在出现问题之后,较快的确定问题所在甚至是处理部分问题。这个实现技术主要是异常处理机制,断言等等。实际上一个真正强大的软件大部分的逻辑应该是异常逻辑,只是解决正常工作情况的程序,不能称之为软件。
标签:代码,编程,程序,构建,内容,软件,部分,大全 From: https://www.cnblogs.com/cocotun/p/17363196.html