들여 쓰기를 최소화하는 것이 좋은지에 대한 의견을 듣고 싶습니다. 들여 쓰기를 항상 최소화해야합니까?
이
내가 일반적으로 그것을 할 방법, 문제를 처리하는 것입니다 반면에int foo_a() {
if (!check_value(x)) {
// error
return false;
}
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return true;
}
, 나는 또한 코드를 보았다 :
int foo_b() {
if (!check_value(x)) {
// error
return false;
} else {
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return true;
}
}
int foo_c() {
if (check_value(x)) {
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return true;
} else {
// error
return false;
}
}
을하지만 이것은 아마도 idents 이후 contraproductive입니다 것 모든 수표가 새로운 else-branch를 만들면 매우 커집니다. 한편, 의사 결정을 위해, 예를 들어. 야채 나 고기, 내가 보통이 방법을 수행
int foo_d(FOOD food) {
if (food.isVegetable) {
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return;
} else {
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return;
}
// assume here is NO shared code which is always executed for both food types.
}
를, 그것은 다음과 같이한다 않음) (방식 foo_a처럼 그 일이 :
int foo_e(FOOD food) {
if (food.isVegetable) {
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return;
}
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
// do stuff
return;
}
이것은 의도적 인 것이 아니라 여러 개의 return 문, 오류 검사 및 (불필요한) else 절에 대한 것입니다. – MikeMB
반환 값이 반드시 필요한 것은 아닙니다. 질문은 좋은 코딩 스타일을 위해 "else"를 사용해야하는 곳이며, 끝에 "반환 값"이있는 "if"가있는 위치 (값의 유무에 관계없이 반환)입니다. –
내가 말한 것, 그것은 의도에 관한 것이 아닙니다. (그리고 나는 어디에서나 반환 값을 언급하지 않았습니다.) 그래서 제 의견으로는 질문과 제목을 다시 말해야합니다. – MikeMB