首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java重构为泛型行业标准

Java重构为泛型行业标准
EN

Stack Overflow用户
提问于 2010-02-27 08:46:01
回答 7查看 828关注 0票数 5

在我目前的团队中,似乎有一些关于重构以利用java泛型的争论。我的问题是,在重构旧的Java代码以利用其中一些功能方面,当前的行业标准是什么?当然,根据行业标准,我指的是最佳实践。一个链接到一本书或一个网站列出了这些将被授予答案投票,因为这是最不主观的方式来处理这个问题。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-27 08:59:00

麻省理工学院这个研究小组的论文可能会为你提供一些有用的指导:

  • Refactoring Java Applications to Use Generic Libraries
    • Efficiently refactoring Java applications to use generic libraries

Robert Fuhrer,Frank Tip,Julian Dolby,Adam Kiezun和Markus Keller

ECOOP 2005 -面向对象编程,第19届欧洲会议,(苏格兰格拉斯哥),7月25-29日,2005.

  • Refactoring techniques for migrating applications to generic Java container classes

Frank Tip,Robert Fuhrer,Julian Dolby和Adam Kiezun

IBM T.J. Watson Research Center IBM Research Report RC 23238,(约克敦高地,纽约,美国),6月2日,2004.

票数 4
EN

Stack Overflow用户

发布于 2010-02-27 08:59:06

我不认为盲目地遵循别人宣称的“最佳实践”或“行业标准”是一个好主意。您处于决定是否值得更改代码的最佳位置。

你需要回答的问题是,升级旧代码会带来什么好处,成本是什么,风险是什么?

主要好处是您将改进编译时类型检查,这应该有助于检测使用更新的代码的新代码中的bug。它甚至可以突出显示现有代码中的错误。使用泛型的代码虽然有时相当冗长,但通常更具可读性,因为它清楚地说明了哪些类型在哪些上下文中是有效的。您也不再需要抑制/忽略编译器警告。

成本是进行和测试引入泛型所需的更改所需的时间。任何时候进行代码更改都有可能引入bug,因此这是一种风险。收益是否大于成本?这取决于你有多少代码,如何使用它,以及你对时间的其他要求。

票数 8
EN

Stack Overflow用户

发布于 2010-02-27 08:48:31

利用java泛型绝对是个好主意。它是向后兼容的。因此,您无法转换的代码库将继续与新代码一起工作。

编辑:我应该提到type erasure是使其向后兼容的原因。

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

https://stackoverflow.com/questions/2345760

复制
相关文章

相似问题

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