[英]Readability in conditional statements [closed]
我想要一个 function 来检查一些条件并返回结果。 条件的数量很可能会增加。
if/else
语句的顺序应该是什么才能使其最容易理解/阅读和维护? 这种情况有风格指南吗?
以下哪个选项最好? 请提供有关以下选项的可读性和可维护性以及任何其他建议的事实、参考和/或特定专业知识:
bool isReady_1()
{
if (isCorrupted()) {
return false;
}
if (isDisconnected()) {
return false;
}
return isInitialized();
}
bool isReady_2()
{
if (isCorrupted()) {
return false;
}
else if (isDisconnected()) {
return false;
}
else if (isInitialized()) {
return true;
}
else {
return false;
}
}
bool isReady_3()
{
return !isCorrupted() && !isDisconnected() && isInitialized();
}
对于 C++,我推荐Google 的 C++ 样式指南。 基于此并盯着功能,我会说isReady_1()
是给定选项中最好的。
该指南提到,“如果这增强了可读性,则可以将简短的条件语句写在一行上。只有当行很简短并且语句不使用 else 子句时,您才可以使用它。” 并提供一个例子。
根据该建议,这是“增强可读性”的另一种可能性:
bool isReady_4() {
if (isCorrupted()) return false;
if (isDisconnected()) return false;
return isInitialized();
}
乍看之下, isReady_3()
,值得商榷,“可读”,但它确实有一些挫折。 随着您添加条件,可读性会降低,并且代码审查可能会变得痛苦。 每个条件都在自己的行中,当您添加代码时,如果您正在添加、删除或修改任何条件,将会非常明显。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.