代码之家  ›  专栏  ›  技术社区  ›  Shamik

开发重构友好代码的最佳实践

  •  4
  • Shamik  · 技术社区  · 17 年前

    作为一个敏捷开发周期中的Java开发人员,我已经了解到,确保我能够以一种可以轻松地重构它们的方式来设计我的类是非常必要的,而不会带来很大的痛苦。我想知道,在您的日常设计/开发周期中,哪些最佳实践可以帮助您轻松地执行重构。
    例如,我知道应该在接口后面隐藏实现细节。因此,如果我明天要更改实现,我不会干扰使用此API的客户机代码。同样,我应该尽可能使用__Factory Design Pattern__,以便实现类的更改可以从一个工厂类控制,而不是找出所有地方并更改它们。
    同样,我想知道您遵循的所有最佳实践将对我有所帮助。

    6 回复  |  直到 16 年前
        1
  •  16
  •   Kenneth Cochran    17 年前

    使用TDD。说真的。在编写类的同时编写测试会迫使您思考其他类将如何使用它们。当你这样做的时候,你会倾向于写更好的抽象。

    整本书都是关于这个主题的:

    • 代码完成
    • 修改代码的艺术
    • 干净代码
    • 重构
    • 重构模式
    • 敏捷原则、模式和实践

    其中每一个都以其独特的方式触及这个主题。

        2
  •  3
  •   jo    17 年前

    您应该有一组单元测试来证明每次重构时代码库没有受到(不小心)影响。

        3
  •  2
  •   TM. Randy Simon    17 年前

    这听起来有点像是循环推理,但我发现这在我的经验中是正确的:

    经常重构它。

    这里的许多答案(特别是一个强大的测试套件)都是很好的建议和帮助,所以让我明确地说,我也都赞成那些先发制人的措施。

    起初,它总是很容易改变(当它很小的时候)。然后,在取得突破之前,您通常需要经历几次艰难的重构,然后才能得到真正柔软的东西。

        4
  •  1
  •   mP.    17 年前

    我的答案与重构后的好结果有关。

    方法应该是…

    • 简短-它们不应该超过一个充满代码的屏幕。
    • 最多做一件事:
      • 计算一个值
      • 测试与分支
      • 日志
      • 守卫和抛出异常
    • 只有一个出口——我的推理……
      • 如果您以后需要返回并对返回值做一些操作,那么这一切都发生在一个点上。
      • 易于设置断点并检查返回值…
      • 相当于 干的 .
        5
  •  1
  •   ChrisW    17 年前

    不要复制和粘贴(也称为干燥:不要重复你自己)。当任何给定的功能在不超过一个地方实现时,重新实现该功能就更容易了。

        6
  •  1
  •   hlovdal    16 年前

    如果你要做很多Java,我建议你选两本书。

    我建议 Effective Java Design Patterns: Elements of Reusable Object-Oriented Software .

    推荐文章