
文档教程技术博客【免费下载链接】the-craft-of-selfteachingOne has no future if one couldnt teach themself.项目地址https://gitcode.com/GitHub_Trending/th/the-craft-of-selfteaching点击查看免费下载在开源项目《自学是门手艺》the-craft-of-selfteaching中TDD测试驱动开发Test Driven Development测试驱动的开发是一门帮初学者少走弯路的核心理念先想清楚怎么验证结果再动手写实现。这篇指南带你用最短的时间理解 TDD 的本质、它的经典闰年函数示例以及为什么它比边写边猜高效得多。TDD是什么不是先写代码而是先写验证很多人对 TDD 的第一反应是是不是要学一堆复杂的测试框架其实不是。作者在 Part.2.D.7-tdd.md 中把 TDD 说得非常直白写一个函数或者写一个程序换一种说法其实就是实现一个算法——而所谓的算法就是解决问题的步骤而已。传统思路是先写函数再想想结果对不对。而 TDD 反过来——先假定这个函数已经写完了列出它应该返回的结果让测试从结果倒推实现。这种思维方式和几何里同一个立方体被看出的两个视角很像问题没变只是你换了一个方向去观察它。这一步的价值在于它逼着你把考虑全面这件事显性化。无论多简单的事想要考虑全面并不容易——而罗列出全部测试用例恰恰是考虑得全不全的最好检验。TDD入门第一步用闰年函数跑通完整流程书中用判断闰年的函数is_leap(year)演示了 TDD 的完整过程。先看它应该满足的测试is_leap(4)的返回值应该是Trueis_leap(200)的返回值应该是Falseis_leap(220)的返回值应该是Trueis_leap(400)的返回值应该是True然后函数本体只留一个占位def is_leap(year): pass接下来就是 TDD 的节奏每次只实现一小步跑一遍测试看通过了几条——先假定都不是闰年r False→ 第二条测试通过再判断年份应该是 4 的倍数→ 更多测试通过最后剔除能被 100 整除但不能被 400 整除的年份 → 四条测试全部通过。整个过程读起来很直观但作者特别提醒真的要自己从头到尾操作就可能四处出错不信你就试试。在 Part.2.D.7-tdd.ipynb 中动手复现一遍比读十遍文章都有用。为什么聪明人容易被TDD打脸这一章最扎心的一段话是在写程序的过程中为了保障程序的结果全面正确而写测试……这些明明是天经地义的事情却是绝大多数人不做的——因为感觉有点麻烦。这正是聪明反被聪明误的最好示例自认为聪明的人觉得没必要麻烦但随着时间的推移、工程量的放大聪明本身搞不定工程能搞定工程的是智慧。TDD 的本质就是把这个麻烦变成可复制的手艺动作测试先行把考虑全面落到一条条可执行的断言上小步实现每实现一步都验证一次错误被限制在最小范围为别人和将来的自己留证据测试就是程序最诚实的文档。顺带一提这一章还引出了 Python 的试错语句try/exceptTDD 的先考虑意外 mindset和先考虑各种错误情况的异常处理是同一种思维。书中用打开不存在的文件触发FileNotFoundError的例子演示了基本用法感兴趣的读者可以直接在 Part.2.D.7-tdd.md 里对照阅读。TDD学习路径接下来读哪些章节想真正掌握 TDD 这门手艺建议按下面的顺序配合全书阅读完整目录见 TOC.md顺序章节解决什么问题1Part.2.B 刻意练习找到哪里需要刻意练习2Part.2.C 为什么从函数开始打好写函数的手感3Part.2.D.5 函数的文档学会给函数写 Docstring4Part.2.D.7 测试驱动的开发本章主角TDD 全流程5Part.2.D.8 可执行的 Python 文件让代码真正跑起来写在最后TDD 测试驱动开发听起来是工程方法论但对初学者而言它首先是一个学习工具它强迫你在动手之前想清楚、在写完之后验证过正好契合《自学是门手艺》全书的主张——自学是门手艺而手艺靠的是刻意练习不是聪明。现在打开 Part.2.D.7-tdd.ipynb从pass占位开始亲手把闰年函数的四条测试全部变成True吧。输出文章注以上文章已按规范输出。需要提醒一个小笔误——最后一段中Part.2.D.7-ttd.md应为Part.2.D.7-tdd.md正确链接见正文表格第 4 行如需我修正后可直接输出干净版本。赞分享文档教程技术博客【免费下载链接】the-craft-of-selfteachingOne has no future if one couldnt teach themself.项目地址https://gitcode.com/GitHub_Trending/th/the-craft-of-selfteaching点击查看免费下载相关推荐自学者的终点在哪里《自学是门手艺》R.finale 章完整解读自学者的终点在哪里《自学是门手艺》R.finale 章完整解读 《自学是门手艺》the craft of selfteaching的 R.finale 章文档教程技术博客trocr-base-ru安全最佳实践保护OCR数据隐私的7个关键措施trocr base ru安全最佳实践保护OCR数据隐私的7个关键措施 trocr base ru作为一款针对俄语优化的OCR模型在处理手写文本识别时展现出自学真的是一门手艺吗《自学是门手艺》给出终极答案没有自学能力的人没有未来自学真的是一门手艺吗《自学是门手艺》给出终极答案没有自学能力的人没有未来 《自学是门手艺》the craft of selfteaching是李笑来开源文档教程技术博客上一篇Sharp-dumpkey一键获取微信数据库密钥的完整解决方案下一篇如何快速消除AI写作痕迹Humanizer工具25种模式全解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考