是否应该保留不必要的费用?

时间:2012-07-12 03:50:08

标签: java coding-style

如果我有一小段代码,如:

public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
      System.exit(0);
   }else{
      System.out.println(steps);
      pathFound(true);
      System.exit(0);
   }
}

AFAIK这可以在没有 else 作为

的情况下重写
public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
      System.exit(0);
   }
   System.out.println(steps);
   pathFound(true);
   System.exit(0);
}

是否存在性能(或其他逻辑)原因导致(或丢失) else ?或者只是(在这个例子中)风格选择?

3 个答案:

答案 0 :(得分:1)

在这种情况下,它是样式首选项,因为您在if语句的末尾退出。如果你在if的末尾没有system.exit(0),那么在第二个例子中你将执行两段代码。

答案 1 :(得分:1)

我会改为:

public void tracePath(){
int steps = 0;
steps = bfs();       
pathFound((!(steps==0)));

System.exit(0);
}

答案 2 :(得分:0)

我会稍微改变一下,对此:

public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
   }else{
      System.out.println(steps);
      pathFound(true);
   }
   System.exit(0);
}

虽然老实说,从名为System.exit的函数调用tracePath似乎有点极端。