可能重复:
函数是否应该只有一个返回语句? 我的老师扣了我写的一些Java代码的分数(我仍然得到了A,这只是我在Java课程中获得的第一个非100%的成绩),我不想就这个问题与老师争辩,但我想从实际的程序员那里得到一些建议。以下是有问题的代码片段:
函数是否应该只有一个返回语句? 我的老师扣了我写的一些Java代码的分数(我仍然得到了A,这只是我在Java课程中获得的第一个非100%的成绩),我不想就这个问题与老师争辩,但我想从实际的程序员那里得到一些建议。以下是有问题的代码片段:
private char byte2suit(byte val) {
switch(val) {
case 0: return 's';
case 1: return 'c';
case 2: return 'h';
case 3: return 'd';
}
//fallback value
return 'h';
}
在我看来,这种方法比初始化返回值、在每个情况下赋值(并在每行后添加break;)然后返回该值要清晰得多。当然,在其他人看到的代码中,我的观点并不是万能的,因此我想知道你们对于Java(或C/C++)中的多个返回语句有何看法,如果你使用多个返回语句,你是否会使用比“if (this) return a; else return b;”更多的语句?如果你不使用多个返回语句,能否给出一个真正令人信服的理由(如果上述代码可读且是我多次使用多个返回语句的最大程度,则不可读的代码不是一个理由)
default:
。我不认为为了追求Single Return而牺牲可读性是值得的。 - R. Martinho Fernandesenum Suit
。 - Peter Lawrey