[6]Shotgun Surgery[散弹式修改]

Shotgun Surgery[散弹式修改]


Shotgun Surgery类似Divergent Change, 但恰恰相反. 如果没遇到某种变化.你都必须再许多不同的类内做出许多小修改, 你所面临的坏味道就是Shotgun Surgery. 如果需要修改的代码散布四处,你不但很难找到它们,也很容易忘记修改某处重要的修改.

这种情况应该使用Move MethodMove Field把所需要修改的代码放进同一个类.如果眼下没有合适的类可以安置这些代码,就创造一个.通常可以运用Inline Class把一系列相关行为放进同一个类. 这可能造成少量Divergent Change, 但你可以轻易处理它.

Divergent Change是指"一个类受多种变化的影响", *Shotgun Surgery则是指"一种变化印发多个类相应修改". 这两种情况下你都会希望整理代码,使得"外界变化"与"需要修改的类"趋于一一对应.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容