在上一篇我们谈了测试驱动开发,这篇我们也来继续回顾一下,大家都有一个共识:如果你想研究某个框架或者工具的源码,那先必须熟练使用它,熟练之后自然就有一种研究它的冲动,但是往往这个框架或工具比较 庞大,很不容易下手,一个很不错的方法就是使用TDD。我们都知道TDD的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功 能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发, 在此过程中我们可以借助一些工具来协助。比如我们现在要研究Nhibernate,那么我们首先要熟练它的一些功能,然后从一个点出发慢慢编写单元测试, 然后逐渐完善代码,最后直至完成框架的搭建,这样会给我们带来莫大的驱动力和成就感。除了微软的BCL(Base Class Library)和企业库以外,大家还可以用TDD来试试还原以下的任一开源代码:
Spring.NET(
http://www.springframework.net/)、Castle(
http://www.castleproject.org)、log4net(
http://logging.apache.org/log4net/)、
NHibernate(
http://www.hibernate.org/343.html)、iBATIS.NET(
http://ibatis.apache.org)、Caliburn(
http://caliburn.codeplex.com/)、
MVVM Light Toolkit(
http://mvvmlight.codeplex.com/)、Prism(
http://compositewpf.codeplex.com/)、MONO源码(
www.mono-project.com)