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

遗留代码中的泛型

  •  9
  • morsch  · 技术社区  · 16 年前

    我们有相当多的代码刚刚跳到Java5。我们已经在那些面向Java5版本发布的组件中使用了泛型,但是剩下的代码当然充满了原始类型。我已将编译器设置为为为原始类型生成错误,并开始手动清除它们,但以目前的速度,这需要一段时间 要花很长时间才能完成(大约有 2500

    有没有更好的方法来处理这个问题?有没有比Eclipse更好的自动化工具?有没有办法将重构应用到 全部的

    5 回复  |  直到 15 年前
        1
  •  9
  •   Community basarat    7 年前

    我建议忽略这些警告。否则,您将花费大量时间更新遗留代码,而不会对其功能进行任何改进。

    Luke 我认为应该得到更多的关注: 泛型是在编译时捕获运行时错误的一种方法。除非这段遗留代码中有您认为与强制转换相关的错误,否则我不会去管它(如果它没有损坏,就不要修复它)

        2
  •  3
  •   Chris R    16 年前

    据我所知,你正在尽可能有效地进行这项工作。它是 显然不完美,但你最终会完成的。

    不过,我建议你分阶段进行;有可能的部分原因 如果代码比其他代码更能从中获益,请关注这些代码。试图 一网打尽可能会给代码带来新的bug。我们 有一个这样的地方,我们有一个保存上下文相关的集合 数据,而泛型实际上无法处理它。

    基本上,做你正在做的事情,但作为其他工作的一部分,分阶段进行, 而不是试着一次就搞定。

        3
  •  3
  •   Alex B    16 年前

    如果这样做对你来说还不够快,有时我会利用午饭后的时间来无意识地清理一些课程,加快进度。

        4
  •  1
  •   Kip    16 年前

    我认为没有必要更新所有的旧代码。如果您能够以某种方式确定旧代码的哪些部分经常被使用,并且只更新这些部分以使用泛型类型,那么可能会这样做?或者,您可能只会担心原始类型是从公共函数返回的?这些情况中的很多可能只是私有/局部变量,这些变量已经在编写时没有泛型类型,并且可能工作得很好,因此可能不值得重写它们。

        5
  •  1
  •   Tom Hawtin - tackline    16 年前