我倾向于在代码中使用大量换行符来保持大部分在80个字符的行宽内。虽然有些人可能觉得这完全没用,但我喜欢在垂直旋转的屏幕上编辑代码,并且在做差异时也喜欢这种狭窄的布局。无论偏好如何,这确实在生成JavaDoc时产生了意想不到的结果,更具体地说是方法签名。
假设我有以下内容:
public static
<C extends AcmeConstants,
B extends AcmeBundle<C>,
R extends AcmeBundleProvider<C, B>> //Type params
R //Return type
newInstance(final Class<R> spiClass, final String implementationClassName)
throws AcmeException {
return newInstance(spiClass,
implementationClassName,
Thread.currentThread().getContextClassLoader());
}
除了Crazy类型参数之外,你可以看到我正在调整类型参数,返回类型,方法声明和throws子句以保持一些不同的东西。同样,您可能会发现这种迷人或彻头彻尾的迟钝,但在生成JavaDoc时会出现问题。我得到的是文档,其中方法参数每个都在一个新行上并对齐,即使我没有这样做。这不是一个真正的问题,虽然奇怪的是它将类型参数声明变成了一行。然而,真正的踢球者是它然后将throws子句放在一个新的行上,原始缩进!
看看我的意思:
public static <C extends AcmeConstants,B extends AcmeBundle<C>,R extends AcmeBundleProvider<C,B>> R newInstance(Class<R> spiClass,
String implementationClassName)
throws AcmeException
这与生成的JavaDoc中的内容完全相同。有没有办法让它停止这样做并规范化空白或其他什么?现在我必须在更改我的代码格式或有奇怪的JavaDoc之间做出选择。
顺便说一句,我使用Maven JavaDoc插件生成,但使用不同方法时结果相同。