0

我有几页代码。它非常难看,因为它正在做很多“计算”等。但它包含几个阶段,就像许多算法一样,就像这样:

  1. 计算我想离开的订单
  2. 杀死订单我想离开但由于数量限制我不能离开
  3. 计算我要添加的订单
  4. 杀死我想离开的其他订单,但由于新订单我不能
  5. 调整新订单数量以适应所需数量

我总共有 5 页丑陋的代码,我想至少分阶段分开。但是我不想为每个阶段引入单独的方法,因为这些阶段只有在一起才有意义,阶段本身是无用的,所以我认为为每个阶段创建单独的方法是错误的。

我想我应该使用 c##region进行分离,你怎么看,你会建议更好的东西吗?

4

2 回答 2

1

使用私有方法将逻辑拆分为小任务,即使该逻辑只用在一个地方,也能大大提高代码的可读性。

于 2012-05-15T06:42:24.120 回答
0

为此目的避免使用#region 指令,它们只会扫除地毯下的污垢。

我赞同@RasmusFranke 的建议,divide et impera:在将功能分离为方法时,您可能会注意到一堆方法恰好代表了一个值得类的概念,然后您可以将这些方法移动到一个新类中。可重用性并不是创建方法的唯一原因

重构,重构,重构。在使用RefactoringWorking Effectively with Legacy Code中的技术时,请牢记SOLID等原则。

如果可以使用 Resharper 或 Refactor 等工具,请慢慢使用!Pro 有助于最大程度地减少重构时可能发生的错误。

使用您的测试来检查您是否破坏了任何东西,特别是如果您无法访问前面提到的工具或者您正在进行一些重大的重构。如果您没有测试,请尝试编写一些测试,即使为遗留代码编写测试可能会令人生畏。

最后但同样重要的是,如果不需要,请勿触摸它。如果它有效,但它是“丑陋的”,并且它不是需要更改的代码的一部分,那就顺其自然吧。

于 2012-05-15T08:12:07.830 回答