第四章:关键的“建构”决策
选择合适的编程语言,编程语言的选择从多个方面影响生产率和代码质量。我们在开发的过程中可以选择自己熟悉的语言,运用熟练的语言,而不是去学习一门新语言去开发,但也要论情况讨论,例如开发轻量级小型的WEB网站,用JAVA代码开发的web网站比较繁琐并且运行较慢,但是用PHP开发的网站比较简单,并且反应快,这就提高了产品的质量并且减少了开发时间,提高生产率。使用高级语言的程序员比使用较低级的语言的程序员达到更好的生产率和质量。
第五章:软件构件中的设计
设计实践;迭代:在设计的多种方案之间要尝试一些不同的做法,这样你才能同时从高层和底层的不同视角去审视问题。并且从一个角度审视问题会帮助你去思考另一个角度的一些问题,二者形成一种良性东里,其所创建的结构要远远稳定与单纯自上而下或者自下而上创建的结构。要勇于去尝试,永不满足,每次设计的方案都会进步一点点,最终的设计方案将会是完美的。
第八章:防御式编程
保护程序免遭非法输入数据的破坏。这一点在开发网站的时候应该特别的注意到,当程序中涉及到类似于input输入框输入数据时,此时要对数据进行严格的校验,避免非法数据的注入破坏程序,其造成的损失是无法接受的。根据书中所讲:检查所有来源外部的数据的值、检查子程序所有输入参数的值、决定如何处理错误的输入数据。这样才可以增强代码的健壮性。例如我在解决文件处理的问题,经常会遇到文件不存在等异常,我们要对这些问题考虑的够全面,并对这些问题做出回应、抛出异常。
使用都断言的指导建议用错误处理代码来处理于期会发生的状况,用断言来处理绝对不应该发生的状况。
同时也不能过度的防御式编程,如果把每一处参数传值的地方都进行参数的校验,会使得程序显得臃肿,并且影响程序的运行时间,这样反而会起到反作用。要进行合理的防御式编程,考虑好什么地方需要进行防御式编程,哪些地方不需要。
第二十一章:协同构建
协同构建能够将开发人员的优质思想或技术提取出来,是其他质量保证技术的补充。其首要目的就是改善软件的质量,他可以缩短开发周期,降低开发成本。能够尽最大可能的捕捉错误,提高代码的健壮性。
结对编程:用编码规范来支持结对编程,统一编码的风格进行标准化,集中精力到功能的实现上。不要让结对编程编程旁观:只有两人都参与编程才能够发挥两人的最大的潜能,缩短开发周期。有规律的对结对人员和分配的工作任务进行轮换,让每一个人都对软件熟知,对需求熟知,对要完成的功能熟知,这样可以做到知识的互相传播。