摘要: 单元测试是将一个程序员或者一个开发团队所编写的,一个完整的类、子程序或者小程序,从完整的系统中隔离出来进行测试; 组件测试是将一个类、包、小程序或者其他编程元素,熊一个更加完整的系统中隔离出来进行测试,这些测试代码涉及到多个程序员或者多个团队; 集成测试是对两个或更多的类、包、组件或者子系统进行的联 阅读全文
posted @ 2019-09-21 23:36 Liam-Ji 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 协同开发实践概要 协同构建包括结对编程、正式检查、非正式技术复查、文档阅读,以及让其他开发人员共同承担创建代码及其他工作产品责任的技术。 协同构建是其他质量保证技术的补充; 协同构建有利于传授公司文化以及编程专业知识; 集体所有权适用于所有形式的协同构建; 在构建前后都应保持协作。 结对编程 成功运 阅读全文
posted @ 2019-09-21 14:09 Liam-Ji 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 本章从构建的角度来审视保障软件质量的技术。 软件质量的特性 正确性; 可用性; 效率; 可靠性; 完整性; 适应性; 精确性; 健壮性; 可维护性; 灵活性; 可以执行; 可重用性; 可读性; 可测试性; 可理解性 改善软件质量的技术 软件质量目标; 明确定义质量保证工作; 测试策略; 软件工程指南 阅读全文
posted @ 2019-09-21 12:47 Liam-Ji 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 布尔表达式 用 和`false`做布尔判断; 隐式地比较布尔值与 和`false`; 简化复杂的表达式; 拆分复杂的判断并引入新的布尔变量; 把复杂的表达式做成布尔函数; 用决策代替复杂的条件; 编写肯定性质的布尔表达式; 在 语句中,把判断条件从否定形式转换为肯定形式,并且互换 和`else`子句 阅读全文
posted @ 2019-09-21 12:47 Liam-Ji 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 表驱动法是一种编程模式——从表里面查找信息而不使用逻辑语句( 和`case`)。 表驱动法使用总则 在适当的环境下,采用表驱动法,所生成的代码会比复杂的逻辑代码更简单、更容易修改,而且效率更高。 使用表驱动法的两个问题 使用表驱动法必须先解决两个问题。首先,你必须要回答怎样从表中查询条目的问题。其次 阅读全文
posted @ 2019-09-18 18:40 Liam-Ji 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 子程序中的多处返回 程序可以通过 和`exit`这类控制结构,在任何需要的时候退出子程序。 如果能增强可读性,那么就使用 ; 用防卫子句(早返回或早退出)来简化复杂的错误处理; 减少每个子程序中 的数量。 递归 在递归里面,一个子程序自己负责解决某个问题的一小部分,它还把问题分解成许多的小块,然后调 阅读全文
posted @ 2019-09-18 18:40 Liam-Ji 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 选择循环的种类 在大多数语言中,你只能用到少数几个循环: 计数循环执行的次数是一定的,可能是针对每位雇员执行一次; 连续求值的循环预先并不知道将要执行多少次,它会在每次迭代时检查是否应该结束; 无限循环一旦启动就会一直执行下去; 迭代器循环对容器内的每个元素执行一次操作。 什么时候使用while循环 阅读全文
posted @ 2019-09-18 13:20 Liam-Ji 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 条件语句用于控制其它语句是否执行 if语句 简单if then语句 在写if语句的时候请遵循下述指导原则: 1. 首先写正常代码路径,再处理不常见情况; 2. 确保对于等量的分支是正确的; 3. 把正常情况的处理凡在if后面而不要放在else后面; 4. 让if子句后面跟随一个有意义的语句; 5. 阅读全文
posted @ 2019-09-17 17:18 Liam-Ji 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 必须有明确顺序的语句 如果语句之间存在依赖关系,并且这些关系要求你把语句按照一定的顺序加以排列,那么请设法使得这些关系变得明显。 设法组织代码,使依赖关系变得非常明显; 使子程序名能凸显依赖关系; 利用子程序参数明确显示依赖关系; 用注释对不清晰的依赖关系进行说明; 用断言或者错误处理代码来检查依赖 阅读全文
posted @ 2019-09-17 15:36 Liam-Ji 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 结构体 使用结构体的理由: 用结构体来明确数据关系; 用结构体简化对数据块的操作; 用结构体来简化参数列表; 用结构体来减少维护。 指针 使用指针的一般技巧 正确地使用指针要求程序员采用一种双向策略。第一,要首先避免造成指针错误;第二,在编写代码之后尽快检测出指针错误。 把指针操作限制在子程序或类里 阅读全文
posted @ 2019-09-16 17:45 Liam-Ji 阅读(258) 评论(0) 推荐(0) 编辑