知识卡片

随时可发布

普通读书笔记卡 · 2111

内容

项目应长期保持可编译、可运行、可测试、可部署的状态。大改动如果会破坏主线,应使用分支、版本化接口或隔离策略。发散:[[频繁集成]]和自动测试的价值,最终都要落到“现在能不能交付”上。

参考来源

- 位置:第4章《交付用户想要的软件》"13 保持可以发布"(源文件:_epub-src/OEBPS/text00000.html) - 结论依据:原文用圣安那部队因未设哨兵、无法编队应对突袭而溃败的历史类比,明确"已提交的代码应该随时可以行动",并给出本地运行测试、检出最新代码、提交代码三步流程及大改动用版本/分支隔离的具体方法,直接支持卡片结论。 - 原始内容:"任何时候只要你没有准备好,那就是敌人进攻你的最佳时机。……已提交的代码应该随时可以行动……在本地运行测试。……检出最新的代码。……提交代码。……为数据库的表结构、外部文件,甚至引用它的API提供版本支持,这样所有相关变化都可以进行测试。……保持你的项目时刻可以发布。保证你的系统随时可以编译、运行、测试并立即部署。"