小编gru*_*uvw的帖子

在每个 if-else 情况下执行语句的最佳方式

我经常发现自己在 if-else 链的所有分支的末尾重复一些代码:

例子:

if (cond1) {
    // [...] code 1

    // repeated code
} else if (cond2) {
    // [...] code 2

    // repeated code
} else if (cond3) {
    // [...] code 3

    // repeated code
}
Run Code Online (Sandbox Code Playgroud)

遵循DRY 原则的最佳方法是什么?

我想到了以下几点:

  • 将重复的代码放在一个函数中:您仍然需要在每个分支中重复调用该函数。
  • 在 if-else 链之后有一个新的 if 条件(所有先前条件的大“或”):您需要重复先前的条件。
  • 为什么不存在这样的东西?finally我希望可以在 if-else 链之后使用一个类似于异常的关键字。仅当前面的条件之一为真时,它才会执行代码:
if (cond1) {
    // [...] code 1
} else if (cond2) {
    // [...] code 2
} else if (cond3) {
    // [...] code 3
} …
Run Code Online (Sandbox Code Playgroud)

c if-statement

5
推荐指数
2
解决办法
309
查看次数

标签 统计

c ×1

if-statement ×1