是否有一种快速的方法来重构整个代码库以采用不同的代码约定?

时间:2013-12-03 15:47:32

标签: java checkstyle

我已经获得了代码库的所有权,虽然编写得很好,却使用了一个相当奇怪的约定:

public void someMethod(String pName, Integer pAge, Context pContext) 
{ 
    ... 
}

我想对整个代码进行以下两项更改:

public void someMethod(String name, Integer age, Context context) { ... }
  1. 在方法声明的同一行中打开括号
  2. 对方法的所有参数使用camelCase名称,没有这个奇怪的“p”前缀
  3. checkstyle可以帮助我吗?我正在寻找,但我找不到将所有方法签名中的所有参数重命名为更令人愉快的方法。

1 个答案:

答案 0 :(得分:3)

如果您愿意使用eclipse IDE,它会为自动格式化代码提供非常方便的功能:

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcodestyle%2Fref-preferences-formatter.htm

在我看来,这是非常不言自明和直截了当的。


Eclipse允许基于正则表达式的搜索和替换操作。

只需打开 搜索>文件... 包含文字输入以下正则表达式:

\b[p]([A-Z][a-z]+)\b

勾选 区分大小写 正则表达式 。 然后按 替换...

在新弹出的窗口中输入

\1
With:字段中的

并勾选正则表达式

编辑:可悲的是,在当前版本中,Eclipse不支持内容组的 \ L 标记,因此您仍然使用大写的前导字母。


回答关于checkstyle的问题:不,checkstyle是用于分析代码而不是更改的工具。

Using checkstyle to format code (问题来自10月12日)


也进行了一些研究,这是另一个针对实际相同的stackoverflow问题。那里提供的解决方案同样需要大量工作。

Can I automatically refactor an entire java project and rename uppercase method parameters to lowercase? (2010年10月的问题)