年前写了两篇的《代码大全2》的阅读笔记,年后将剩余部分看完了,总结和概括为以下的几点
六、系统考虑
27、程序规模对构建的影响
要点:
随着项目规模的扩大,交流需要加以支持。
放大轻量级的方法论要好于缩小重量级的方法论。最有效的办法是使用“适量级”方法论。
28、管理构建
配置管理、备份计划
要点:
好的软件评估是一项重大挑战。成功的关键包括采用多种方法、随着项目的开展而修缮评估结果。
度量是构建管理成功的关键。准确的度量是制定准确的进度表、质量控制和改进开发过程的关键。
程序员和管理人员都是人,在把他们当人看的时候工作得最好。
29、集成
集成是一种软件开发行为:将一些独立的软件组件组合为一个完整系统。
集成频率——阶段式集成与增量集成
增量集成有若干变型,而且任何一种形式的增量集成都比阶段式集成好。
针对每个特定的项目,最佳的集成步骤通常是自顶向下、自底向上、风险导向及其他集成方法的某种组合。T型集成和竖直分块集成通常都能工作得很好。
30、编程工具
设计工具(Rose、visio)、源代码工具(IDE集成工具、diff比较工具、版本控制工具、生产接口文档工具)、可执行工具(编译器与连接器、Build工具、程序库、代码生成工具、安装程序的工具)
测试,下列功能特性和工具有助于你进行有效的测试:
自动测试框架,如JUnit、NUnit、CppUnit等
测试用例的记录和回放工具
覆盖率监视器
系统扰动器(内存填充工具、内存“抖动”工具、内存访问检查器)
Diff工具(比较数据稳健、图像等)
缺陷注入工具
缺陷跟踪工具
要点:
好的工具能让你的日子过得安逸很多。
下面这些工具可用:编辑、分析代码质量、重构、版本控制、除错、测试、代码调整。
七、软件工艺
31、布局与风格
计算机编程美学话题——程序源代码的布局。布局好的代码看起来不仅感觉漂亮而且结构也清晰。
布局技巧
用空格可以提高可读性。空格包括空格、制表符、断开行及空行。用空格得到罗好的布局:
分组—— 一个代码段只能包含有关的、为完成某一任务而组织在一起的语句。
空格——在程序段的开头应当加空格表明
对方——把同属性的元素对齐。例如同一类语句的排成一条直线下来
缩排——当一个句子在逻辑上从属于上一个句子时,这个名子就比上一行退几格
要尽量的多用括号,有的时候表达式可能不需要使用括号,但加上括号会使表达的更清晰。
布局风格
控制语句下的一组语句要区分成一组,再括起来。纯块结构、行尾布局这些名词化了,其实都见过的,“行尾布局”没用过,感觉这个最不好。文中给出的缺点是:无连续性而且难修改。
控制结构布局
32、自说明代码
33、个人性格
聪明和谦虚、求知欲、诚实、交流与合作、创造力和纪律、懒惰、坚持、经验、习惯。
一些培养求知欲和把学习当做第一要务的特定方法:在开发过程中建立自我意识、对编程和开发过程做试验、阅读解决问题的有关方法、在行动之前做分析和计划、学习成功项目的开发经验、阅读文档、阅读其他书本期刊、同专业人士交往。
最有关系的性格为:谦虚、求知欲、诚实、创造力和纪律、高明的偷懒。
很多程序员不愿意主动吸收新知识和技术,只依靠工作时偶尔接触新的信息。如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群。
好性格与培养正确的习惯关系很大。要成为杰出的程序员,先要养成良好的习惯,其他自然水到渠成。
什么思想决定什么样行为;什么样行为决定什么样的习惯,什么样的习惯决定什么样性格,而什么性格决定什么样的命运。
34、软件工艺的话题
合作开发要求团队成员之间进行广泛沟通,其次同计算机交互;而单人开发是自我交流,其次才是与计算机。
编程应基于问题域而非解决方案,这样便于复杂度管理。
开发时迭代次数越多,产品的质量越好。
墨守成规的方法有悖于高质量的软件开发。请将编程工具箱中填满各种编程工具,不断提高自己挑选合适工具的能力。
35、何处有更多信息
软件开发资料库由几类信息构成:一类核心数据解释有效编程的基础概念;相关的数据解释编程技术管理及知识背景;还有关于编程语言、操作系统、环境和硬件等面向特定主题的参考书等。