我发现自己在写很多这样的代码:
int myFunction(Person* person) {
int personIsValid = !(person==NULL);
if (personIsValid) {
// do some stuff; might be lengthy
int myresult = whatever;
return myResult;
}
else {
return -1;
}
}
它可能会变得非常混乱,特别是如果涉及多个检查。在这种情况下,我尝试了多种样式,例如:
int netWorth(Person* person) {
if (Person==NULL) {
return -1;
}
if (!(person->isAlive)) {
return -1;
}
int assets = person->assets;
if (assets==-1) {
return -1;
}
int liabilities = person->liabilities;
if (liabilities==-1) {
return -1;
}
return assets - liabilities;
}
我对这里的样式选择感兴趣。[不要过于担心个别陈述的细节;使我感兴趣的是整体控制流程。]