【发布时间】:2012-09-29 07:31:49
【问题描述】:
在 Java 编程语言中,用一个注释来结束一个代码块的大括号是否是一种公认的做法,该注释简要解释了大括号关闭了哪些代码块?我个人认为它们是无用的 cmets,会混淆代码的可读性,但也许我错了。例如:
public void myMethod(int foo) {
// some code
if (foo == 2) {
for (int i = 0; i < myMax; i++) {
while (true) {
// some more code
} // end while
} // end for
} // end if
} // end myMethod(int)
以类似方式注释代码块的做法是否被接受?
【问题讨论】:
-
等到你有几个内部块,由 10 甚至 100 行分隔......然后它会有所帮助。想想如果你在循环中有一些其他的
if语句会是什么样子...... -
如果你在一个块中有 100 行,你可能应该考虑从那里拉出一个方法,让一切变得更简单。
-
当我这样做时,我会稍微增加信息,例如
} // end for i以将其与嵌套的} // end for j区分开来 -
如果你的代码太混乱以至于让你觉得你应该重新引入 oldskool if-endif 语法,那么你应该让你的代码不那么混乱。 :)
-
我认为 Linus Torvalds 说过“如果你的代码有超过三个级别的缩进,那么它就不是一段好的代码”。也就是说,代码块末尾的 cmets 可能表明您的代码过于复杂......保持简单,它将帮助您(以及阅读您的代码的人)玩得开心
标签: java comments curly-braces