我倾向于在我的代码中使用大量换行符来保持大部分内容都在80个字符的行宽内。虽然有些人可能会发现这完全无用,但我喜欢在垂直旋转的屏幕上编辑代码,并且在做差异时也喜欢这种狭窄的布局。无论如何,在生成JavaDoc时,这确实给了我一个意想不到的结果,更具体地说是方法签名。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());
}
疯狂的类型参数不谈,你可以看到我对齐类型参数,可以返回类型,方法声明和throws子句使事情有所不同。再次,您可能会发现这种迷人或彻底的迟钝,但是在生成JavaDoc时会出现问题。我所得到的是文档,其中方法参数分别放在一个新行上并对齐,即使我没有这样做。不是一个真正的问题,但奇怪的是它将类型参数声明转换为一行。然而,真正的踢球者是,它然后将投掷条款放在一个新的线上,并带有原始缩进!
看一看,看看我的意思是:
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插件生成,但使用不同方法时结果相同。
我相信你可以编辑javadoc创建页面将使用的CSS。这可能会让你得到一些你想要的东西。但说实话?我会放弃它。虽然它可能会让你感到不适,但这实际上是一种标准。把你的强迫症放在一边,专注于完成实际工作。 (我总是与自己斗争,所以我知道你来自哪里。) – Marvo
@Marvo哈哈,它的OCD好吧:D可能花太多时间格式化代码。至少我已经停止分解在多行的异常抛出字符串文字。关于CSS,恐怕在这里无济于事。生成的HTML使用“PRE”标签,这会导致所有空白区域与文件中的完全相同。 –
是的,在Javadoc中处理long类型的参数声明并不是最优的。虽然(如jackrabbit所说),但与源代码格式无关。 –