【发布时间】:2013-11-15 14:37:46
【问题描述】:
我有一个项目,其部分目标是尽可能缩短代码。我已经尽我所能使其尽可能紧凑,但我想知道以下代码是否还有更多快捷方式
public static void read(String[] input) throws IOException {
for (String s : input) {
BufferedReader b = new BufferedReader(new FileReader(s));
while (b.ready()) {
String[] val = b.readLine().split(" ");
for (String c : val) System.out.println(c);
}
b.close();
}
}
【问题讨论】:
-
"compact" 是相对的。您可以将它们全部放在一行上,但它仍然是相同的代码。例如,IMO,为了清楚起见,正确使用花括号和 sysout 在它自己的行上会更好地使用 for 循环。
-
只是为了跟进 MadConan 所说的,我会说保持可读性并牺牲一点紧凑性,而不是压缩到极端并使其难以维护和阅读。关于内部
for循环,我也同意;要么是花括号,要么将System.out.println行向下推并缩进一个。坦率地说,否则在我看来还不错。 -
通常我会一直使用花括号,而不是将所有内容都放在代码中的同一行。这里的挑战是尽可能减少线条,这就是我这样做的原因,但感谢您的反馈。我同意在任何其他正常情况下,正确的格式始终是最好的方法。谢谢
-
是的。将
read方法命名为rea和input参数inpu。 -
challenge here is to have the minimal lines possible有新行的条件吗?就像每个;或{之后应该有新的行标记?如果没有,您可以删除代码中的每个新行标记并只获得一行...