摘要:
boost::mutex is not re-entrant, a thread can only lock it once, otherwise it’s dead-locked. If you need re-entrant mutex, the boost::recursive_mutex is the choice. 阅读全文
摘要:
Martin Fowler这篇文章点出了TDD的核心理念:Specification by Example,即测试用例(Test Case)是一种通过例子(Example)来表达需求的规范(Specification)形式。传统的需求规范一般是通用的,覆盖所有场景的,比:自然语言描述的文档;而TDD则用把测试用例作为主要的需求规范形式。由于测试用例不具备通用性(general),所以它不能作为唯一的规范形式,但这也不妨碍它成为一种主要的形式。与文档相比,测试用例更加精确(Precise),更易于获得反馈(Quick Feedback),更贴近真实用户(User Friendly),更加稳定(Stable)。 阅读全文