Java - 长行一行语句与多行

时间:2016-03-12 19:28:29

标签: java formatting

我的问题很笼统。我应该何时考虑将语句拆分为多行?

我自己编写代码,从未在团队中工作过。我总是喜欢让我的代码尽可能紧凑。

例如,而不是写:

depth = depth - randomNumbers.nextInt(depth) -1;
Expression expA = createRandomExp(depth);
Expression expB = createRandomExp(depth);
SubtractionExpression subExp = new SubtractionExpression(expA,expB);
return subExp;

我会写:

return new SubtractionExpression(createRandomExp(depth - randomNumbers.nextInt(depth) - 1), createRandomExp(depth - randomNumbers.nextInt(depth) - 1));

我看到的专业人士是:

  • 减少代码行数。
  • 无需声明变量。

缺点:

  • 可读性较差
  • 有些内容会多次写入,例如:randomNumbers.nextInt(depth) -1

行业标准是什么?在编写语句时我应该考虑什么?一些指导原则可能有所帮助。

我过来了this,但它并没有真正回答我的问题。

2 个答案:

答案 0 :(得分:5)

当另一个开发人员需要阅读您的代码时,多行使得易于阅读,并使用注释行来阐明功能,变量,类等。此外,您可以离开您工作的公司,有人需要改进您的代码或那里可能是代码中的功能失调,因此如果出于这些原因,您应该使用多行编写代码,以便于阅读和理解。 根据我的知识,不应该是任何标准但是上述原因足以编写多行而不是一行的代码。另外,当编写单行代码时出现编译错误时,编译器会说“在X行中发现错误”,您可能无法理解该行中的错误在哪里。但是,多行将缓解这种情况。我建议你写多行代替单行。

答案 1 :(得分:0)

最好不要声明一次性变量。当你使用“(”括号为“{”括号,如:

时,我真的很喜欢aproach
$photo_id = trim($_REQUEST['photo_id']);
$dir = "./wp-content/uploads/easter_pics";
$images = (scandir($dir));
foreach ($images as $value); {
  $file_ext = strpos($value, ".");
  $file_name = substr($value, 0, $file_ext);
  if ($file_name === $photo_id) {
    echo ("<img src = '../wp-content/uploads/easter_pics/" . 
    $file_name . ".jpg' />");
  }
}