读《Software Engineering at Google》(22)
🤔☕️🤔☕️🤔
读《Software Engineering at Google》(22)—— Large-Scale Changes
📖:LSC(Large-Scale Change),大规模修改,无法独立提交,只能逻辑上相关的修改整堆提交。
🤔:自己每次修改,尤其是新的设计和实现,总喜欢整体交付,才有种完整的感觉。如果非得把一个新模块,拆得粉粉碎交付,莫名其妙有种糟蹋自己成果的感觉。为此,我会先设计 Classic 类的 UT。这在 UT 的视角,有点另类感,因为我所谓的 Classic 类 UT,是把所有接口综合起来,写成典型使用的样子。之所以如此,我自己首先是从这样的例子,把握住模块的整体使用感,无论模块内部实现多少复杂,总会在典型使用层面有个清爽的呈现。另一方面,这样的例子把整个模块作为 Unit 来验证,依然准确合理应用 UT 的概念。当把模块作为 Unit 来看待,又会显著降低认知负载,毕竟再复杂也不过一个 Unit 而已。
🤔:大规模修改的允许和实践,实际上是给自己的软件巨大的机会。也就是说,小打小闹的改绝对不在话下,大张旗鼓的改也能从容应对。这样大改都敢的勇气,会给自己的代码巨大的勇气,一方面是当下代码质量的勇气,另一方面更是面对未来各种修改的勇气。如果,再配合以最小化测试的大规模提交判定工具,刚刚好的自动化测试,就能够验证大规模提交代码的可靠性,简直就是魔法般神奇的软件工程能力。
—— By 术子米德 @2022.04.30
版权声明: 本文为 InfoQ 作者【术子米德】的原创文章。
原文链接:【http://xie.infoq.cn/article/2779a771adb59539e5206205a】。文章转载请联系作者。
评论