在哪里输入 @Override?

5
在大多数IDE和编辑器中,关于如何缩进 @Override 并没有一致的共识。而且在Java的编码风格指南中也没有涉及到该问题。http://www.oracle.com/technetwork/java/codeconvtoc-136057.html 我只使用vim并且它会创建一个新的缩进级别。因此我倾向于认为正确的方式是:
@Override public boolean onTouch(View v, MotionEvent event) {

但是每个文档都显示
@Override
public boolean onTouch(View v, MotionEvent event) {

但大多数情况下,编辑器会自动将其缩进为
   @Override
      public boolean onTouch(View v, MotionEvent event) {

那么,有一种“正确”的方式吗?我应该修复我的java.vim语法规则吗?

这个问题主要是关于风格的。我知道它们可以编译,否则我就不会问了 :) - gcb
2个回答

13

没有一个“正确”的方式......它们都可以编译,所以它们都是正确的。尽管如此,你大多数情况下会看到:

@Override
public boolean onTouch(View v, MotionEvent event) {

这是我更喜欢的方式,因为大多数程序员习惯了这种语法,所以对于他们来说更容易阅读和理解。


《Java编程风格要素》建议您也这样写。http://www.ambysoft.com/books/elementsJavaStyle.html - MBU
受欢迎需求的支持,所以我会考虑发送一个补丁到vim中解决这个额外的缩进步骤。 - gcb
我仍在找借口不去准备那个vim语法补丁...但是我想把这个加入到我的虚拟内存中:这也是Android文档/生成源使用的样式。而且它也被斯坦福大学发布的课程材料所采用,例如http://ee368.stanford.edu/Android/ViewfinderEE368/ViewfinderEE368.java。 - gcb

0

你列出的所有方式都是等效的。Java编译器不考虑空格。只要注解后面的方法是你想要的,那么就是正确的。我这样说是因为@override和方法声明之间可能会有其他注解或注释。


这就是为什么我要求使用引号来表示“正确”的方式 :) 这个问题大多是关于风格的。 - gcb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接