|
|
1
105
|
|
2
60
这是一把双刃剑。它有时非常有用,但往往很危险。 什么时候好?当你想要10个案件都以同样的方式处理。。。
我喜欢的一条规则是,如果你做了任何不包括休息的事情,你需要一条清晰的注释/*错误提示*/来表明这是你的意图。 |
|
|
3
24
你听说过吗 Duff's device ? 这是使用switch fallthrough的一个很好的例子。
|
|
4
21
失败是一件非常方便的事情,这取决于你在做什么。考虑一下这样一种简洁易懂的方式来安排选项:
想象一下用if/else这样做。那将是一片混乱。 |
|
5
10
它可以非常有用几次,但一般来说,没有失败是理想的行为。应该允许失败,但不能含蓄。 例如,要更新某些数据的旧版本,请执行以下操作:
|
|
6
6
注意:如果您使用标志声明枚举中的所有案例,那么这在枚举中已经是可能的,对吗?听起来也没那么糟糕;这些案例很可能(应该?)已经成为您的enum的一部分了。 对于使用扩展方法的流畅接口来说,这可能是一个很好的例子(没有双关语)?比如,呃。。。
虽然这可能更难理解:P |
|
7
4
与任何东西一样:如果小心使用,它可能是一个优雅的工具。 然而,我认为这些缺点不仅仅是合理的 使用它,最后不再允许它(C#)。这些问题包括:
使用开关/机箱直通:
令人不快的 例如,除非您正在维护使用这种样式并得到充分理解的遗留代码。 |
|
8
4
无论我在哪里使用它,我都会确保它得到了正确的评论:
|
|
9
3
除非 他们认为值得努力的是,给它写一个注释块,它描述了这是一个故意的失败,以及为什么这个解决方案比其他方案更好。这不鼓励草率的使用,但在使用它有优势的情况下仍然允许草率的使用。 这或多或少相当于我们在太空项目中所做的,当有人想要违反编码标准时:他们必须申请豁免(我被要求就裁决提出建议)。 |
|
|
10
2
我不喜欢我的工作
|
|
11
1
在某些情况下,使用跳转是程序员的一种懒惰行为——例如,他们可以使用一系列| |语句,但可以使用一系列“全面覆盖”切换情况。 话虽如此,当我知道这一点时,我发现他们特别有用 我仍然需要这些选项(例如在菜单响应中),但尚未实现所有选项。类似地,如果您同时对“a”和“a”进行遍历,我发现使用开关遍历比使用复合if语句要干净得多。 这可能是风格和程序员的想法的问题,但我通常不喜欢以“安全”的名义删除语言的组件——这就是为什么我更倾向于C及其变体/后代,而不是Java。我喜欢在没有“理由”的情况下拿着指针之类的东西胡闹。 |
|
12
1
只有当它被用作跳转到代码块中的跳转表时,才应该使用Fall-through。如果代码中有任何部分在更多案例之前无条件中断,则所有案例组都应以这种方式结束。
|
|
|
metrallador10 · 哪种代码更好?效率与代码可读性 2 年前 |
|
|
Justin Xu · 使用return if语句进行重构验证 3 年前 |
|
|
Cino · 如何以体面的方式处理Python异常? 3 年前 |
|
|
SAI BENDE · 如何在多个html文件中使用单个导航栏 3 年前 |
|
|
fstab · 对正常控制流程使用例外情况是一种不鼓励还是不鼓励的做法? 12 年前 |
|
|
SwampYeti · 在CSS中拉伸小背景图像 13 年前 |