在代码完成2的242页,史蒂夫McConnell吹嘘接近的原则。
简单地说,McConnell先生建议程序员将相关的操作放在一起。
就我而言,适用的重点是:
当您在单个代码块或方法主体中工作时,通常很容易遵守“邻近原则”;但是,如果您正在处理遗留代码,并且堆栈顶部的对象在堆栈的深处被设置或变异,怎么办?为了使事情变得更复杂,如果在堆栈中设置、变异或多次引用对象,该怎么办?
所以我的问题是:
什么是使遗产代码符合“邻近原则”的最快捷的方法?
顺便说一句,我正在使用Visual 2010和Resharper 5。
有什么IDE技巧可以帮到我吗?
发布于 2011-04-21 16:32:29
你问了一个非常普遍的问题。有很多技术。你说得很简单,“当你在一个代码块或方法主体中工作时”--这就是你想要引导代码的方向。首先,高亮显示一个变量(我假设VS会突出显示所有事件,并希望它不仅显示代码中的变量,而且还向您展示旁边的标记,这样您就可以很好地了解所有事件发生的位置)。事件是否聚集在一起?代码实际上是使用在一个集群的末尾分配的值,还是在下一个集群中重新分配该值,只是重新使用一个变量?如果是后者,则在每个集群中使用一个新变量,只在需要时声明和初始化它。
寻找像"temp“和"tmpXxx”这样的名字--它们是这种处理的好人选,因为一些开发人员似乎认为,以这种方式重新调整变量是可以节省的。他们错了。
提取方法是你的朋友。如果无法提取一个方法(可能是因为分配了多个局部变量),则返回到将转换为Field。这可能是一个临时转换,执行以方便提取方法,然后撤销。或者,结果可能是变量实际上应该是一个字段,这样您的类就更干净了。
萌芽类也很好,对于大段和小部分代码都是一样的。在任何地方(借用羽毛的术语),你都可以引入一条缝--在方法之间、类之间等等--是帮助提高地方的好地方。
发布于 2011-04-21 16:04:40
最有效的方法可能是去买书有效地使用遗产代码并阅读相关章节。这是我读过的最有用的编程书之一。我推荐的不够多。
https://softwareengineering.stackexchange.com/questions/70248
复制相似问题