java - 更好地表达 "if false return false"构造

标签 java c++ imperative-programming

在许多情况下,您有这样的代码(使用 C 风格的伪代码):

bool checkCondition();

bool doSomething(){
   if (checkCondition() == false)
      return false;

   // do something
   return true;
}

我不断重复使用这个模式,每次都想知道是否有更好的方式来表达它?

有时,条件检查可以留给调用者或断言,但通常条件检查必须在函数内部完成。

您可以花哨并使用异常,但结果几乎是相同的代码。

最佳答案

首先我会这样表达否定:

 if (!checkCondition())
     return false;

此外,只要适用(取决于 block 的长度),我希望在 if 语句中包含肯定条件:

bool doSomething(){
      if (checkCondition()) {
         // do something
         return true;
      } else {
        return false;
     }
}

您还可以在此处删除 else,因为“if”语句中存在返回。

bool doSomething(){
      if (checkCondition()) {
         // do something
         return true;
      }
      return false;
}

关于java - 更好地表达 "if false return false"构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61694635/

相关文章:

python - 检查一个值在 While 循环 Python 中是否仍然保持不变

java - 将命令式 Java 转换为函数式 Java(游戏)

java - 如果您不为接口(interface)指定访问修饰符,那么该接口(interface)将具有默认访问权限,这是真的吗

Java Swing 事件

java - 从 `@WebFluxTest` 迁移到 `@SpringBootTest` 后,集成测试中连接被拒绝

c++ - *(ptr)[j++] 的替代符号?

c++ - 在 Vim 中编译 C++ 程序

java - List<List<String>> 与 String[][]

c++ - 如何生成恰好有七个因数的数?

java - Java 中命令式方法和函数式方法的比较