代码之家  ›  专栏  ›  技术社区  ›  Paul McKenzie

带注释的代码样式[关闭]

  •  11
  • Paul McKenzie  · 技术社区  · 15 年前

    我无法决定

    @MyAnnotation(param1="paramval")
    public void foo(){}
    

    @MyAnnotation(param1="paramval") public void foo(){}
    

    是否出现了最佳实践?

    5 回复  |  直到 11 年前
        1
  •  20
  •   KLE rslite    15 年前

    我们使用第一个案例。

    注释在某些情况下不适合一行 .

    • 注释会在我们的项目中不断增加,一个接一个的责任。在同一行上对真正不同的关注点进行注释会变得混乱。
    • 另外,一些注释可能会变得非常大,并且是多行的(我认为在子类中Hibernate映射重新定义)。
        2
  •  2
  •   Jesper    15 年前

    注释可以有参数,如果将注释加上它的参数加上方法头都放在一行上,注释可能会变长。

    @MyAnnotation(name = "This is the name", version = "1.0")
    public void foo () {
        // ...
    }
    
        3
  •  2
  •   Andy Holt    15 年前

    我想说没有硬性的快速规则。根据具体情况,您可能需要这样做。

    例如,如果您的类有大量的短方法,有时需要将它们浓缩到一行以减少代码噪声:

    @MyAnnotation public int foo1(){ return 1; }
    @MyAnnotation public int foo2(){ return 2; }
    @MyAnnotation public int foo3(){ return 3; }
    etc etc
    

    与WISE类似,如果您有一个更为实际的方法,并带有复杂的注释,那么扩展的表单更可取。

        4
  •  1
  •   djna    15 年前

    好吧,我们甚至不能同意把::-(

    我的偏好是前者,特别是因为可以有多个注释。

    我熟悉的示例使用这种样式。

        5
  •  1
  •   Andrzej Doyle    15 年前

    我一般会用第一种情况。

    但是,我将注释放在同一行的一个特定实例是 @Test JUnit中的注释。这是相当短的,通常不需要任何参数,最重要的是,它通常出现在一个人类读者会下意识地期望它存在的环境中。当你在注释的时候 public void 测试类中的空方法,我认为将注释滚动到同一行的额外简洁性(即,减少干扰,可以在屏幕上看到更多代码)比将其放在单独的行上要好,

    一般来说,你 希望您的注释突出显示,因为它们通常偏离了开发人员对未标记方法的期望。例如,如果我在 @测试 注释I 把它放在前一行,这样它就不会在样板文件中丢失。