![]() |
1
4
麻省理工学院研究小组的论文可能会为您提供一些有用的指导方针:
|
![]() |
2
8
我不认为盲目遵循别人宣称的“最佳实践”或“行业标准”是一个好主意。您处于决定更改代码是否值得的最佳位置。 您需要回答的问题是,升级旧代码会带来什么好处,成本是多少,风险是什么? 主要的好处是,您将改进编译时类型检查,这将有助于检测使用更新代码的新代码中的错误。它甚至可能突出显示现有代码中的错误。使用泛型的代码虽然有时很冗长,但通常更易于阅读,因为它明确了哪些类型在哪些上下文中有效。您也不再需要取消/忽略编译器警告。 成本是进行和测试引入泛型所需的更改所需的时间。任何时候修改代码都有可能引入错误,所以这是一个风险。利益大于成本吗?这取决于你有多少代码,它是如何被使用的,以及你对时间的其他要求。 |
![]() |
3
3
使用Java泛型绝对是个好主意。它是向后兼容的。因此,无法转换的代码库将继续使用新代码。 编辑 :我应该提到 type erasure 作为使向后兼容的原因。 |
![]() |
4
1
采用仿制药的最佳实践?第一个最佳实践是“做”。尽量从代码中消除尽可能多的强制转换。如果你想让你的生活更简单,使用intellij的“generify”重构——只需将它指向你的整个代码库,让它做它的事情,然后在清理之后做一点。 |
![]() |
5
1
您的团队应该将大规模重构的好处与这样做的成本以及技术和业务风险相平衡…以及你团队的其他优先事项。 不了解您的项目和业务背景的人提出的“最佳实践”论点和意见在这里根本不相关。 |
![]() |
6
1
最佳实践不存在。这是一个奇怪的术语,它意味着一个特定解决方案的“最佳状态”关闭了门…使用泛型?对。立即。这是一段尴尬的旅程,因为许多大型图书馆(冬眠、春天)仍然无法完全接纳它们。但在我的经验中,处理泛型和勇敢的强制转换的组合仍然比根本不使用它们有更好的代码基础。 我还将制定政策,在您触摸时进行转换,而不是执行某种巨大的重构任务。 |
![]() |
7
0
使用泛型重构通常是个好主意。 它不是必需的,所以不要将其视为紧急任务,但是您可以考虑不使用泛型是 轻微的技术债务 -因此,如果您有时间,并且代码库计划有一个长期的持续使用寿命,那么值得投资升级它。 主要好处是:
没有真正的缺点——我唯一能想到的问题是,如果你想将代码移植到Java的早期版本,而不需要泛型支持。但那将是一件非常不寻常的事情! 如果您确实决定重构为泛型,那么我建议执行以下步骤:
这是相当快做到这一切-我想我设法重构约10000行的Java库代码使用泛型在不到一天,其中包括更新一些客户端代码。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 5 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 5 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 5 月前 |
![]() |
rudraraj · java中未声明最终变量 5 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 5 月前 |