我正在寻找能够提供实际课程计划或途径的资源,以鼓励和加强TDD和模拟等编程实践.有很多资源可以显示示例,但我正在寻找一些实际上提供了进展的东西,它允许学习概念而不是强制仿真.
我的主要目标是加快某人理解TDD背后的概念并实际有效实施它们的过程.有这样的免费资源吗?
STW*_*STW 12
这是一件很难鼓励的事情,因为它可以被(非常公平地)视为一个改变海洋的东西; 与其说是一个目标的进展,而是一个完全不同的方法.
建议的简短清单是:
你需要成为领导者,你需要在说服别人之前变得精通,你需要能够向他人展示道路并解决他们的不确定性.
首先要熟练自己编写单元测试
练习为现有方法编写测试.您可能会在桌面上试图测试大量代码 - 但这不是因为测试很难或者您无法理解测试; 它更有可能是因为您现有的代码和编码风格不是很容易测试.
如果您很难入门,那么找到最简单的方法,并将它们作为起点.
然后专注于提高您生成的代码的可测试性
就个人而言,在阅读鲍勃·马丁的"清洁代码"一书时,我有了"清晰的时刻"; 一个早期的章节讨论了一个干净的方法会是什么样子,作为一个例子,他采用了一个大约40行的方法,在视觉上类似于我生成的东西,并将其重构为一个几乎没有更大的行计数但是没有任何东西的类.但一口大小的方法,每个可能3-7行.
看看这些itty-bitty方法,它突然点击了单元测试的基石"每个测试只测试一件事"最容易实现,当你的方法只做一件事(并且做一件事而没有30个内部机制在起作用).
好的是你可以立即开始应用你的发现; 练习编写小方法和小类并沿途进行测试.你可能会开始很慢,并且相当快地遇到一些障碍,但前几个月将帮助你指出正确的方向.