代码审查最佳实践

请特别注意每个实践最后简单总结的价值观。如果想采用这些实践,则要认同并实现这些价值观;若想采用不同的实践,则要找到自己的合理的价值观。由于下面的价值观多数都是很有价值的,所以即使采用不同的实践,也要考虑到兼顾这些价值观。 Read more

持续交付的模式

当你有了持续集成需要的构建服务器和脚本之后,下一个问题肯定是:“我们该拿这些构建版本怎么办?”持续交付,以自动化或半自动化方式,将构建版本从一个环境提送(promote)到更接近实际生产的交付准备环境;这常常是公司在这方面演进的下一步。 Read more

结对编程

本文主要从提升项目质量、促进知识传递及减少项目风险等角度出发,讲述作者所在团队在结对编程实践中的一些经历,以及如何避免或减少其所带来的负面影响。

Read more

敏捷方法介绍:极限编程的12个实践

极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。 Read more

逐步改善,设计优秀API

判断一个API是否优秀,并不是简单地根据第一个版本给出判断的,而是要看多年后,该API是否还能存在,是否仍旧保持得不错。
 第一个版本远非完美
 第一个版本总是来得特别容易,不仅容易开发,而且容易发布。API的需求会随着时间而变,那些过去有效的API可能现在已经不再适用了。而且每个程序中都 会存在Bug,需要不断地来修复,这样做带来的副作用人所共知:修复一个Bug的同时会引入两个新Bug。这些观点普遍适用于所有软件系统,API也不例 外。 Read more

用 Python 测试框架简化测试

Python 测试领域的蛮荒时代结束了。仅仅在几年前,几乎每个用 Python 构建的项目在编写和运行测试方面都采用自己的习惯做法。但是现在,这种混乱局面终于要结束了。社区中已经出现了几种出色的测试解决方案,它们为数百个流行的项目的测试套件提供约定和通用标准。 Read more

使用模拟对象(Mock Object)技术进行测试驱动开发

利用伪对象 (Mock Obect) 实现接口测试
在实施测试驱动开发过程中,我们可能会发现需要和系统内的某个模块或系统外某个实体交互,而这些模块或实体在您做单元测试的时候可能并不存在,比如您遇到了数据库,遇到了驱动程序等。这时开发人员就需要使用 MO 技术来完成单元测试。
最开始,Mock Object 是完全由测试者自己手工撰写的。在这里我们可以举个简单的例子。 Read more