在使用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;
}
...
}
答案 0 :(得分:2)
没有价值。
删除的论点:
使代码更长,以便滚动。我宁愿在屏幕上看到模式代码,而不是无用的评论占据屏幕的50%。
一旦你看到这些评论只是松散的话,你可能只是习惯于跳过评论。即使是那些没有毛茸茸的人。所以他们实际上对任何有用的评论都进行了重新评估。
答案 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;
}
}
通过这种方式,如果我有一个非常长的课程,并且我只是简单地滚动它,那么不同部分的标记很容易看到,并创造了一个很好的鸿沟。但那只是我的偏好。其他人可能认为过度杀伤并且不想将它们包含在代码中。