首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重构。用大方法降低大类代码复杂性的方法

重构。用大方法降低大类代码复杂性的方法
EN

Stack Overflow用户
提问于 2010-06-08 04:41:30
回答 5查看 1.8K关注 0票数 8

我有一个非常复杂的遗留类需要维护:

代码语言:javascript
复制
class OldClass {
  method1(arg1, arg2) {
      ... 200 lines of code ... 
  }

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

  ...

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

这些方法是庞大的、非结构化的和重复的(开发人员喜欢复制/粘贴aprroach)。我想把每个方法分成3-5个小函数,一个函数和几个帮助函数。

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

  • 向每个方法中添加几个私有助手方法,并在#区域中加入它们(直接重构)
  • 使用命令模式(每个OldClass方法在一个单独的文件中有一个命令类)。
  • 使用一个公共方法&几个私有助手方法创建每个方法的助手静态类。OldClass方法将实现委托给适当的静态类(非常类似于命令)。

提前谢谢你!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-08 05:12:01

SRP -单响应原理和-不要重复自己

票数 3
EN

Stack Overflow用户

发布于 2010-06-08 04:45:07

首先,我要找到重复的部分,并将它们提取到帮助函数中。一旦以这种方式缩小了代码基础,您就可以考虑其他重构方法,这样代码就更容易处理了。

票数 1
EN

Stack Overflow用户

发布于 2010-06-08 05:09:53

请参阅SD CloneDR获得一个工具,该工具可以告诉您每个方法都有哪些代码块,包括可能的参数化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2994786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档