gpt4 book ai didi

c++ - 多个if方法的构造约定

转载 作者:行者123 更新时间:2023-11-27 22:54:59 25 4
gpt4 key购买 nike

我想知道是否有一些构造约定来构造具有多个 if 的方法。大多数情况下,在触发方法之前,您必须检查输入参数和其他内容,例如。 is not nullptr, is > 0, is != -1 etc. 有时你不能检查这个,如果你有这样的结果:

if(arg != nullptr)
{
if()
{
if()
{
if()
{
/*actual code here*/
}
else
{

}
}
else
{

}
}
else
{
/* other error message like "License check error: wrong key!" */
}
}
else
{
/* wrong input args! */
}

良好的约定是您的行少于 80 个字符,这给我们提供了更少的实际代码空间。代码越来越难以阅读。

最佳答案

您可以在出现问题时提前返回,或者抛出异常:

if(arg == nullptr) {
log("arg was null, not doing anything");
return;
}

//if the user forgot to make the toast, we can do it for them
if(forgotToMakeToast) {
makeToast();
}

if(ranOverDog) {
//we can't continue if the user ran over our dog, throw an exception
throw too_angry_exception;
}

//actual code

这通过将错误处理与局部错误检查相关联,使您的代码结构更加明显。

关于c++ - 多个if方法的构造约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33994440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com