对于"样板评论有什么价值吗?"

时间:2014-07-31 14:50:00

标签: java hibernate comments

在使用Hibernate的应用程序中,我们有几个实体类映射到数据库模式中的表。我已经看到了许多看似无用的JavaDoc评论的实体,并且无法帮助但是想知道那里是否有任何用处。

这些脑死亡的评论有什么价值吗?如果没有,你可以为它的删除辩护吗?

/**
 * MyClass entity.
 */
@Entity
@Table(name="my_class")
public class MyClass {

    // Fields

    /** The id. */
    private Integer id;

    /** The name. */
    private String name;

...

    // Constructors

    /**
     * default constructor.
     */
    public MyClass() {
    }

...

    // Property accessors
    /**
     * Gets the id.
     *
     * @return the id
     */
    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    /**
     * Sets the id.
     *
     * @param id
     *            the new id
     */
    public void setId(Integer id) {
        this.id = id;
    }

...

}

2 个答案:

答案 0 :(得分:2)

没有价值。

删除的论点:

  1. 使代码更长,以便滚动。我宁愿在屏幕上看到模式代码,而不是无用的评论占据屏幕的50%。

  2. 一旦你看到这些评论只是松散的话,你可能只是习惯于跳过评论。即使是那些没有毛茸茸的人。所以他们实际上对任何有用的评论都进行了重新评估。

答案 1 :(得分:2)

虽然我认为其中一些可能没用,但我确实倾向于在我的代码中添加类似的类型注释。目的是很容易确定代码的整体布局和事物的位置,而无需阅读和解释代码本身。例如,在我的课程中,我倾向于像这样构造它:

class Foo{

    /************************
     * Variable Declaration
     */
    //Define some variables here

    /************************
     * Constructors
     */
    //Put some constructors here

    /************************
     * Methods
     */
    //Put some methods here

    /**
     * @return A description of what the variable is, not just that you are returning it
     *         so the user doesn't have to find the variable definition above and look for
     *         a description there.
     */
    void exMethod(){
        return var;
    }

}

通过这种方式,如果我有一个非常长的课程,并且我只是简单地滚动它,那么不同部分的标记很容易看到,并创造了一个很好的鸿沟。但那只是我的偏好。其他人可能认为过度杀伤并且不想将它们包含在代码中。