c# - 重构。使用大方法降低大类代码复杂性的方法

标签 c# refactoring

我有一个维护起来相当复杂的遗留类:

class OldClass {
  method1(arg1, arg2) {
      ... 200 lines of code ... 
  }

  method2(arg1) {
      ... 200 lines of code ... 
  }

  ...

  method20(arg1, arg2, arg3) {
      ... 200 lines of code ... 
  }    
}

这些方法庞大、非结构化且重复(开发人员喜欢复制/粘贴方法)。我想将每个方法拆分为 3-5 个小函数,一个公共(public)方法和几个助手。

您有什么建议?我想到了几个想法:

  • 为每个方法添加几个私有(private)辅助方法并将它们加入#region(直接重构)

  • 使用命令模式(单独文件中每个 OldClass 方法一个命令类)。

  • 使用一个公共(public)方法和多个私有(private)辅助方法为每个方法创建辅助静态类。 OldClass 方法将实现委托(delegate)给适当的静态类(非常类似于命令)。

  • >

提前致谢!

最佳答案

SRP - 单一职责原则和DRY - 不要重复自己

关于c# - 重构。使用大方法降低大类代码复杂性的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994786/

相关文章:

c# - 如何在 Windows Phone 8.1/Windows 10 上创建自定义 VirtualizingPanel?

ruby-on-rails - 干燥这个 Ruby 代码

javascript - JS : rename variables for refactor (using an AST, 不是文本)

refactoring - 当你跨越它们时,你总是重构哪些类型的编码反模式?

c# - 如何使用javascript获取 session 值

c# - 未安装 .NET 4.5.2 的目标包

c++ - 如何将 map 和 unordered_map 作为同一个对象来处理

python - 如何删除此参数处理代码的重复项?

c# - 有选择地抑制自定义过时警告

c# - Rabbitmq - 连接/ channel /消费者的恢复