代码大全 读书笔记(1)

1. 软件构建活动:

定义问题(problem definition)

需求分析(requirements development)

规划构建(construction planning)

软件架构(software architecture),或高层设计(high-level design)

详细设计(detailed design)

编码和调试(coding and debugging)

单元测试(unit testing)

集成测试(integration testing)

集成(integration)

系统测试(system testing)

保障维护(corrective maintenance)



2. 构建活动中的具体任务

验证有关基础工作已完成,因此构建活动可以顺利进行下去

确定如何测试所写的代码

设计并编写类(class)和子程序(routine)

创建并命名变量(variable)和具名常量(named constant)

选择控制结构(control structure),组织语句块

对你的代码进行单元测试和集成测试,排除其中的错误

评审开发团队其他成员的底层设计和代码,并让他们评审你的工作

润饰代码,仔细进行代码的格式化和注释

将单独开发的多个软件组织成为一体

调整代码,让它更快、更省资源


3. 软件构建活动很重要

是软件开发的主要组成部分(30% - 80%)

是软件开发中的核心活动

可以提高程序员的生产率

构建活动的产物-源代码-往往是对软件的唯一精确描述


4. 用隐喻来理解软件开发


使用隐喻的方法叫“建模(modeling),隐喻的作用更像启示(heuristic,启发、试探法),而不是算法。可以用它来提高对编程问题和编程过程的洞察力,帮助思考编程过程中的活动。

常用的软件隐喻方法有:

1)书写代码(Writing Code)

      好比写信,写错了就扔掉

2)培植系统(Growing a System)

      类似播种和耕作的情形,一次设计系统的一小部分、写出一段代码、做一点测试,并将成果一点点添加到整个系统中。每次做一点,小步前进。

      无法对开发软件的过程和方式进行任何直接的控制。

3)系统生长(System Accretion)

     一次为软件系统增加一个小部分,增量的、迭代的、自适应的以及演进的。以增量方式进行设计、编译和测试,都是目前已知的最强有力的软件开发概念。

     增量式开发的优势在于未做过度的承诺。

4)建造软件(Building Software)

     建造,和软件生长的概念是相通的,且提供了更详细的指引。暗示了软件开发中存在着诸多阶段,如计划、准备以及执行等。

5)智慧工具箱

    能有效的开发高质量软件的人们,在长年累月中积累了大量的技术、技巧和诀窍。编程方面的只是学的越学越多,脑中的工具箱中就会有更多的分析工具,也会知道在何时使用这些工具,以及怎样正确的使用他们。

6)组合各个隐喻

    隐喻是一种启发而不是算法,彼此之间并不排斥。



猜你喜欢

转载自blog.csdn.net/bai00/article/details/78280806
今日推荐