构建之法读书笔记03

Posted cocotun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建之法读书笔记03相关的知识,希望对你有一定的参考价值。

第二章 个人技术和流程

2.1 单元测试

①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。

②好的单元测试的标准:

在最基本的功能/参数上验证程序的正确性

单元测试必须由最熟悉代码的人(程序的作者来写)

单元测试过后,机器的状态保持不变

单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)

单元测试应该产生可重复、一致的结果

独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性

单元测试应该覆盖所有代码路径

单元测试应该集成到自动测试的框架中

单元测试必须和产品代码一起保存和维护

③单元测试的基础上能够建立关于这一模块的回归测试,目的是:

(1)验证新的代码的确改正了缺陷

(2)同时验证新的代码有没有破坏模块的现有功能,有没有Regression

2.2 效能分析工具

效能分析方法:抽样和代码注入

2.3 个人开发流程

个人开发流程PSP(Personal Software Process)

特点:(1)不局限于某一种软件技术,而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。

(2)不依赖于考试,而主要靠工程师自己收集数据,然后分析、提高。

(3)在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责。

(4)PSP依赖于数据(工程师输入数据的时间代价、数据可能遗失或者不准确的风险、可能会出现一些数据不利于工程师本人的情况)

(5)PSP目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,工程师有可能很高效地开发出一个顾客不喜欢的软件。

第四周读书笔记《构建之法》

第四周读书笔记《构建之法》

 
 

第四周读书笔记《构建之法》

沈三景 PB15061249 软件工程 读书笔记


 

前言

本周接着读了构建之法(上周读了《程序员的修炼之道》)的第六、七两个章节。


 

第六章 敏捷流程

敏捷流程是一系列价值观方法论的集合,它要求:

  1. 尽早并持续地交付有价值的软件以满足顾客需求。

  2. 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。

  3. 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。

  4. 业务人员和开发人员在项目开发过程中应该每天共同工作。

  5. 以有进取心的人为项目核心,充分支持信任他们。

  6. 无论团队内外,面对面的交流始终是最有效的沟通方式。

  7. 可用的软件是衡量项目进展的主要指标。

  8. 敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去。

  9. 只有不断关注技术和设计,才能越来越敏捷。

  10. 保持简明—尽可能简化工作量的技艺—极为重要。

  11. 只有能自我管理的团队才能创造优秀的架构、需求和设计。

  12. 时时总结如何提高团队效率,并付诸行动。

雷军曾经说过互联网思维的七字诀:专注、极致、口碑、快。在我看来这七字诀真是敏捷流程的一个缩影。专注意味着提高团队效率并付诸行动;极致意味着两方面的内容,一方面是我们做项目时要做到极致,对于那些有能力、有进取心的人要大力支持他们,另一方面意味着我们需要不断关注技术和设计,在技术和设计上做到极致,这是将项目做到极致的有效保障;口碑则意味着我们在做项目时,要充分考虑到客户的感受,在客户需求发生变化时,我们不能排斥这种变化,而是要欢迎需求的变化,并利用这种变化来提高用户的竞争优势;最后的快则是对敏捷流程最直接的概括,快意味着要经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。


 

第七章 MSF

对于这一章,由于我们还有没有进行团队项目,所以理解不深。MSF全称为Microsoft Solution Framework,即微软解决方案框架。这是一个软件开发的方法。它要求:

  1. 推动信息共享与沟通(Foster open communications)

  2. 为共同的远景而工作(Work toward a shared vision)

  3. 充分授权和信任(Empower team members)

  4. 各司其职,对项目共同负责(Establish clear accountability and shared responsibility)

  5. 交付增量的价值(Deliver incremental value)

  6. 保持敏捷,预期和适应变化(Stay agile, expect and adapt change)

  7. 投资质量(Invest in quality)

  8. 学习所有的经验(Learn from all experiences)

  9. 与顾客合作(Partner with internal and external customers)

以上是关于构建之法读书笔记03的主要内容,如果未能解决你的问题,请参考以下文章

构建之法读书笔记03

第四周读书笔记《构建之法》

第二周读书笔记《构建之法》

第一周读书笔记《构建之法》

构建之法读书笔记_1

构建之法读书笔记01