6 months ago
- 作者提倡一种编程工作流,程序可以修改自身源代码,形成'读取-求值-修补循环',将REPL式功能直接整合进开发流程。
- 这种方法允许开发者通过在代码编辑器中运行表达式来编写测试,结果会自动插入源文件,成为持久化的测试用例。
- 该工作流强调测试的即时效用,使其成为开发过程的一部分,而非独立的、面向未来的任务。
- 好的测试被描述为对程序行为的观察,可视化和printf调试直接集成在测试框架中。
- 这项技术是语言无关的,文中提供了Janet、OCaml、Rust甚至JavaScript的示例,展示了其广泛适用性。
- 作者强调了这种方法的优势:更轻松的测试创建、即时反馈,以及可兼作文档的测试用例。
- 文中提到Cram等工具,说明即使没有原生支持,也能在任何语言中实现这种工作流。