关于代码重构
大部分重构都致力于正确组合方法。在大多数情况下,过长的方法是万恶这些方法中的代码变幻莫测,执行逻辑并使该方法极难理解 甚至更难改变。一些重构技术简化了方法,消除了代码重复,并为未来铺平了道路
1.提取方法
问题:有一个可以分组的代码片段吗?
解决方案:将此代码移至单独的新方法(或函数),并用对该方法的调用替换旧代码。
2.内联方法
问题:当方法体比方法本身简单,请使用此技术。
解决方案:用方法的内容替换对方法的调用,并删除方法。
3.提取变量
问题:有一个难以理解的表达方式。
解决方案:将表达式的结果或其部分放在不言自明的单独变量中
4. 内联温度
问题:您有一个临时变量,它分配了一个简单表达式的结果,仅此而已
5.用查询替换 Temp
问题:您将表达式的结果放在局部变量中以供以后在代码中使用。
解决方案:将整个表达式移动到一个单独的方法中并从中返回结果。查询方法而不是使用变量。如有必要,将新方法合并到其他方法中。
6. 拆分临时变量
问题:您有一个用于存储 var 的局部变量
解决方案:对不同的值使用不同的变量。每个变量应该只负责一件特定的事情。
7.删除分配给参数
问题:一些值被分配给方法体内的参数。
解决方案:使用局部变量而不是参数。
8. 用方法对象替换方法
问题:您有一个很长的方法,其中局部变量如此交织在一起,以至于您无法应用提取方法。
解决方案:将方法转换为单独的类,使局部变量成为类的字段。然后,您可以将该方法拆分为同一类中的多个方法。