我无法决定选择哪一个:
@MyAnnotation(param1="paramval")
public void foo(){}
并且@MyAnnotation(param1="paramval") public void foo(){}
有没有一种最佳实践正在出现?
@MyAnnotation(param1="paramval")
public void foo(){}
并且@MyAnnotation(param1="paramval") public void foo(){}
有没有一种最佳实践正在出现?
我们使用第一种情况。
在某些情况下,注释无法适应一行。
注解可以带有参数,如果你把注解、它的参数和方法头都放在一行上,那么它会变得非常长。
@MyAnnotation(name = "This is the name", version = "1.0")
public void foo () {
// ...
}
我认为这并没有硬性规定。根据情况,你可以选择任意一种方式。
例如,如果你的类有许多短方法,有时将它们压缩到一行上以减少代码噪声是很理想的:
@MyAnnotation public int foo1(){ return 1; }
@MyAnnotation public int foo2(){ return 2; }
@MyAnnotation public int foo3(){ return 3; }
etc etc
通常我会使用第一种情况。
然而,在JUnit中有一个特殊的情况,我会将注释放在同一行上,那就是@Test
注释。这个注释通常很短,不需要任何参数,并且通常出现在人类读者下意识地期望它存在的上下文中。当您在测试类中注释public void
无参方法时,我认为将注释简化到同一行比将其放在单独的一行上更好(即更少分散注意力,可以在屏幕上看到更多代码)。
在一般情况下,您确实希望您的注释突出显示,因为它们通常与开发人员从未注释的方法所期望的不同。例如,如果我在@Test
注释中设置了超时时间,我会将其放在前一行,以便它不会在样板文件中丢失。
嗯,我们甚至不能同意在哪里放置 { :-(
我的偏好是前者,特别是因为可能会有多个注释。
我熟悉的例子使用这种风格。