1

我想让我的队友知道不应使用 String.replace()(因为我们的许多开发人员不知道正则表达式参数)并建议他们改用 StringUtils.replace()。

我可以通过告诉他们,将重点放在代码审查中,为 Findbugs、CheckStyle 或其他工具编写自定义规则来做到这一点,但我更愿意在代码中记录这一点,让编译器知道我的意图。

如果 String 是我自己代码中的一个类,我会简单地添加弃用注释。有没有办法为我没有来源的类添加弃用注释?

(不,我不想自己编译 JDK 作为解决方法:)

4

2 回答 2

2

最简洁的答案是不。

有可行的替代方案,例如在您的组的样式/错误检查工具(FindBugs、PMD、CheckStyle 等)中启用或添加规则。


但是我认为你在这里采取了错误的方法。String.replace()如果我是您的开发人员之一,我会因为我“太笨拙”而无法使用或String.replaceAll()正确使用而感到冒犯。

如果您的开发人员确实存在不理解的问题,那么您需要对他们进行更多教育,或者(如果他们真的很愚蠢......)替换他们。

如果真正的问题是你的代码库被错误的使用所感染,那么你需要做的是代码审计;例如grep,所有出现该方法名称的代码库,并检查它们。

于 2013-03-08T10:40:42.230 回答
1

这是一个由 IDE 验证的编译时实用程序,因此没有其他方法可以添加弃用方法,您必须更改 JDK 的源并编译它们。

也许如果您正在使用构建工具,请检查是否有任何插件,如果调用特定方法,您可以告诉构建失败

于 2013-03-08T10:25:46.130 回答