再结束了第一个个人任务以后,我也算有点时间翻开一本大部头来通读一下。在看了一些相关的评论说:“该书可以从任意章节读起”后,刚刚在180M测试文件的个人任务中吃了亏的我,决定从他的第5部分,代码改善看起,大致将感想记录如下。

  

  首先是张图片,的确很符合一贯的认识,没有一个软件在每一方面中做到尽善尽美。我们能够做的是,根据每个软件的不同需求,在功能上做出不同的侧重。对于外部的交互部分,健壮性至关重要,而对于最核心的计算,效率则是需要优先考虑的。

  其次是质量保证,文中提出了多种缺陷检测方式,从简单的单元测试到正式的代码复查,列出了一个表格。其后详细讨论了缺陷的成本问题,包括找出与修正所花费的成本,结论告诉我们这个会占据开发流程中相当一部分的精力。后续又紧接着提出了一个问题,就是什么时候进行质量保证工作。众所周知,如果在最后阶段发现致命问题,需要对整个代码大改,这是无法接受的。所以书中说到,要在早期阶段就开始强调质量保证,一步一步稳扎稳打,在开工之时就添加到计划中。

  第21章 协同构建

  可以说这一章刚好在讲述我们这周要做的事情,也就是结对编程。书中先提出,这一行为目的是为了改善软件的质量,用很多公司的例子与调查报告告诉我们,在合理的质量检测能够既减少缺陷也缩短开发周期。

  其次对于结对编程的好处做出了充分的阐述:

  可见,结对编程并不是一个玩乐的方式,而是切实有效的。

  协同除了两人的结对编程,还有一个团体的协同,具体表现为正式检查,每个参与者以明确的角色去对代码仅检查。数据现实,这样的方式检出的缺陷仅少于原型和大规模 beta 测试,推荐的人数一般是6人,可以说是一种十分经济适用的方法了。

  而且该方法由于有标准的核对表和标准的角色,是一个系统化过程,也可自我优化。采用了正式的反馈循环来改进核对表,无论开始时状况如何,都能够不断优化,最终起到很好的效果。

  

读书笔记 Week5 2018-4-5的更多相关文章

  1. 读书笔记-《Maven实战》-关于Maven依赖传递的思考 2018/4/26

    上次读书笔记中,提到了依赖传递.看着依赖传递表,一直在思考为什么会是这样. 先看传递表: compile test provided runtime compile test provided run ...

  2. 【2018.08.13 C与C++基础】C++语言的设计与演化读书笔记

    先占坑 老实说看这本书的时候,有很多地方都很迷糊,但却说不清楚问题到底在哪里,只能和Effective C++联系起来,更深层次的东西就想不到了. 链接: https://blog.csdn.net/ ...

  3. TJI读书笔记17-字符串

    TJI读书笔记17-字符串 不可变的String 重载”+”和StringBuilder toString()方法的一个坑 String上的操作 格式化输出 Formatter类 字符串操作可能是计算 ...

  4. 读书笔记--Android Gradle权威指南(上)

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...

  5. 《玩转Django2.0》读书笔记-编写URL规则

    <玩转Django2.0>读书笔记-编写URL规则 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. URL(Uniform Resource Locator,统一资源定位 ...

  6. Javascript DOM 编程艺术(第二版)读书笔记——基本语法

    Javascript DOM 编程艺术(第二版),英Jeremy Keith.加Jeffrey Sambells著,杨涛.王建桥等译,人民邮电出版社. 学到这的时候,我发现一个问题:学习过程中,相当一 ...

  7. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  8. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  9. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

随机推荐

  1. 使用ORC识别图片的文字

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. 【SQL查询】日期的转换_to_date/to_char

    1. 日期转换为字符 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; 2. 字符转换为日期 select to_date('200 ...

  3. QT画图

    if (0) { QApplication a(argv, args); QGraphicsScene scene; scene.setSceneRect(-300,-300,600,600); sc ...

  4. git配置ssh key并从github.com拉取repos

    一.配置ssh key 1. 进入当前用户目录cd ~2. 生成ssh keyssh-keygen -t rsa -C "ABC@qq.com"ABC@qq.com账号必须是你登录 ...

  5. Developing on Windows Phone 8 Devices

    Developing on Windows Phone 8 Deviceshttp://docs.madewithmarmalade.com/native/platformguides/wp8guid ...

  6. SQLite3的运用

    1.导入库文件:libsqlite3. 2..m文件的代码: // // ViewController.m // SQLite3的运用 // // Created by PengYunjing on ...

  7. 转载pll工作模式解析

    PLL共有四种工作模式,只有理解了这四种工作模式的特点,才能在设计中选用恰当的模式,完成自己设计的预期功能.这四种工作模式分别是普通模式(Normal Mode).零延迟缓冲模式(Zero Delay ...

  8. Linux I/O 映射(ioremap)和writel/readl

    在裸奔代码中,如果要控制gpio,直接控制gpio寄存器地址即可: 在linux系统中,所有操作的地址都是虚拟地址,都是由linux内核去管理,所以需要将物理地址转换成内核可识别的虚拟地址. 1.io ...

  9. PAT1018——最短路加DFS

    http://pat.zju.edu.cn/contests/pat-a-practise/1018 在杭州各个点,有很多自助自行车的点,最大容纳点为CMAX,但比较适合的情况是CMAX/2, 现在从 ...

  10. ActiviMQ(1)

    1. ActiviMQ是实现JMS接口和规范的消息中间件(Provider), 2. JMS,Java Message Service, java消息服务,是JavaEE中的一个技术 3. JMS规范 ...