class Main {
public static int total = 5;
public static void main(String[] args) {
addToTotal(5);
addToTotal(199);
System.out.println(addToTotal(1));
}
public static String addToTotal(int amount){
total += amount;
return "Successfully added " + amount + " to total for result of " + total;
}
}
例如,以这个增加类(class)总数的程序为例。它通常不需要 return 语句 - 但对我来说,让它返回发生的事情的字符串似乎有助于调试复杂的问题。这被认为是不好的做法吗?
最佳答案
是的,不好的做法。如果您想返回一个值并添加调试语句,会发生什么情况?你不能两者兼而有之。
即使未使用字符串连接,您也会受到性能影响。聪明的优化器也许能够优化它,但我不会指望它。
Parameterized logging是你应该使用的。它只会在实际需要时执行串联。 IMO 它也更具可读性。
public static void addToTotal(int amount){
total += amount;
log.trace("Successfully added {} to total for result of {}", amount, total);
}
关于java - 为通常返回 void 的函数返回字符串是否被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60081022/