|
|
1
28
例外情况应该是例外的,所以如果周围没有其他例外情况,我不喜欢选项B(请注意,对于投反对票的人-我不说最终的结果是错误的,只是如果没有例外情况,我更不喜欢这样做-如果你有理由,请评论) 如果总是需要代码,那么重构为2个函数如何?
|
|
|
2
29
如果代码需要运行,即使任何其他代码引发异常,则
如果它不需要在异常情况下运行(即,它只对“正常”返回是必需的),则使用
就我个人而言,我会用单返回点样式重写这个方法。不是因为我虔诚地认同这个想法(我不认同),而是因为它最适合这种方法代码的结尾。 当代码变得过于复杂(这是非常现实的可能性)时,是时候通过提取一个或多个方法来重构方法了。 最简单的重构是这样的:
|
|
|
3
15
这是一个完美的地方
*鸭子* |
|
|
4
3
你的 选项C 解决方案离优化并不远,因为它充分地编码了您试图完成的正确的执行序列。 同样,使用 嵌套的if语句 做同样的事情。它在视觉上可能不那么吸引人,但更容易理解,并使执行流程非常明显:
简化 代码产生:
简化的代码还揭示了您实际上试图实现的目标:您使用测试条件 避免 因此,当条件为 错误 而不是在他们 真 . 回答你关于 最后尝试 布洛克:是的,你可以虐待他们。您的示例不够复杂,不足以保证最终使用Try。不过,如果更复杂的话,可能会。 请看我的看法: Go To Statement Considered Harmful: A Retrospective , "Exception Handling" . |
|
|
5
3
如果代码需要运行,即使存在
|
|
|
6
2
如何把它稍微多一点来给出更多的东西(原谅我没有使用Java的逻辑运算符) 相当长的一段时间 像这样:
|
|
|
7
2
不要滥用尝试/最终,除非你需要打破内部循环。虐待行为。
|
|
|
8
0
使用Try/Finally控制流程对我来说就像使用Goto。 |
|
|
9
0
有没有理由不能简单地存储返回值,然后从if中退出?
|
|
|
10
0
我的想法是
如果我没有弄错,在
就我个人而言,我会选择C。但我也没有任何反对A的选择。 |
|
|
11
0
除非必须在方法末尾运行的代码使用方法局部变量,否则可以将其提取到如下方法中:
这看起来还是不太好,但比使用goto类构造要好。为了让您的团队成员相信1返回解决方案可能没有那么糟糕,您还可以使用2来呈现一个版本
|