我为什么要重新考虑我的代码?

时间:2011-11-19 16:36:09

标签: oop refactoring

如果我写了一段可能有点简单的代码,但我理解每一点都有用,如果出现问题我可以轻松识别并纠正问题,为什么要使用像ReSharper这样的工具来转我的代码变成了我不理解的东西?

当然,如果你不能自己编写复杂的代码,使用代码重构工具只会导致问题,因为当出现问题时你将无法理解新代码,并且你可以编写重构代码手动编码为什么需要这个工具?

或者有什么东西我不见了?

由于

5 个答案:

答案 0 :(得分:3)

您缺少重点 - 可重用性和可维护性。

ad-hoc代码可能过于简单,但通常缺乏一般性 - 如果你想做一些更复杂的事情,你必须重写它。使用重构工具和方法,您应该能够获得更通用的代码,可以插入到其他程序中,并且易于更改(维护)。

但是 - 如果您的代码已经具有这些属性,请不要仅为重构进行重构,这只是浪费您的时间和精力。此外,您应该能够比以前的代码更好地解析重构代码。如果你不这样做 - 你做的事情非常糟糕,因为重构应该简化,而不是混淆....

答案 1 :(得分:3)

重构用于改进代码结构以提高效率,可读性,可维护性,减少冗余等。对于非常简单的代码,可能没有充分的理由进行重构。随着代码复杂性的增加,重构成为控制代码健全性并有助于保持代码可维护性的有用工具。自动化工具旨在嗅探代码以查找编码错误的迹象,并在代码太大以至于需要花费大量时间手动执行时应用已知的良好模式和实践。这在具有多个编码器和许多代码行的项目中发挥得更多。

答案 2 :(得分:2)

  

如果我写了一段可能有点简单的代码,但我理解每一点都有用,如果出现问题我可以轻松识别并纠正问题,为什么要使用像ReSharper这样的工具将我的代码变成我不理解的东西?

你应该使用这样的工具改进设计,而不是把它变成你不理解的东西。如果您不再理解代码,则可能选择了不适当的重构。

  

当然,如果你不能自己编写复杂的代码,使用代码重构工具只会导致问题,因为当出现问题时你无法理解新代码,如果你可以手动编写重构代码为什么需要该工具?

重构工具是一种方便,使重构过程更容易,也许更安全一些。你确实应该能够手动编写新代码。就个人而言,我有时会手动进行重构,而不是使用工具。

答案 3 :(得分:2)

我从未使用过重构工具,但我想你可以从它为你重新编码代码的方式中学习。但是,您需要能够感知代码何时需要重构并知道如何自行执行重新分解,否则您将永远不会辜负作为程序员的潜力。它似乎依赖于重构工具,使您无法了解事物何时需要重构。绝对学会重构你自己的代码。

[1] You will arrive at a cleaner solution that is easier for you and others to read

[2] Reducing code repetition will likely reduce bugs, or make them easier to find and fix only once rather than multiple times throughout the code.

[3] Once you have re-factored enough code, it will influence your coding habits and style so you more often code clean the first time, implying less refactoring.

重构代码的最佳动机:使用其他人的代码来处理它是没有意义的(除非你在他们面前迅速消除它。这总是很有趣。)

如果这个重新分解工具是你的工作或课程的一些要求,你必须学习它。记得测试小。当您认为需要重新分解时,您可能想要创建一个小程序的版本,然后在另一个版本中,手动进行重新分解。然后将旧版本提供给重新分解软件并比较结果。

祝你好运! :)

答案 4 :(得分:1)

是的,有。编码(在现代软件过程中)几乎是一项团队工作。所以,仅仅因为你了解你的代码,这并不意味着其他人都会理解它。

由于你不会是唯一一个必须使用它的人,你应该重构你的代码并遵循代码重构的通用规则(或安排的约定)。 (如果您使用的工具或手动操作,那当然总是一个特定的问题)