중첩 된 if 문은 분명히 허용됩니다. 그래서 그들에게는 적절한 사용이있을 것 같습니다. 모두는 그 (것)들에 싫어하고, 진술이 행동의 제일 과정 인 경우에 중첩 할 시간이 있는지 생각해보고 있었다. 여기가 중첩 문을 사용하는 것이 가장 수 있습니다 생각의 예 : 다음과 같이 내가하지 둥지에이 코드를 시도한다면중첩 된 If 문 적절하게 사용
if (A){
//Code for A
if (B){
//Code for B
} else {
//Code for !B
}
//More A Code
} else {
//Code for !A
if (C){
//Code for C
} else {
//Code for !C
if (D){
//code for D
}
}
}
는,이 될지는 :
if (A&&B){
//Code for A
//Code for B
//More A Code
}
if (A&&!B){
//Code for A
//Code for !B
//More A Code
}
if (!A&&C){
//Code for !A
//Code for C
}
if (!A&&!C&&D){
//Code for !A
//Code for !C
//Code for D
}
if (!A&&!C&&!D){
//Code for !A
//Code for !C
}
이를 실제로 코드를 넣고 여분이 생길 때까지는 처음에는 더 깔끔하게 보입니다. 이는 악몽입니다.
if (A){
//Code for A
}
if (A&&B){
//Code for B
}
if (A&&!B){
//Code for !B
}
if (A){
//More A Code
}
if(!A){
//Code for !A
}
if(!A&&C){
//Code for C
}
if(!A&&!C){
//Code for !C
}
if(!A&&!C&&D){
//Code for D
}
이 방법은 중첩 문을 사용하지 않고, 코드를 재 작성이 필요하지 않지만, 원래보다 더 많은 경우() 인스턴스를 조건을 overuses하고있다. 또한, B가 A가 참인 경우에만 평가된다는 것을보기 위해 감추는 것보다 더 많은 독해를해야합니다. 그리고 나서 if(A&&C)
을 하단에 붙이면 유지 보수가 어려워집니다.
중첩 된 if 문은 가장 작은 인스턴스가 if()
이므로 나에게 가장 합리적인 것 같습니다. 모든 사람들이 중첩 된 if 문을 싫어하는 이유를 이해할 수 없습니다. 누구든지이 코드를 작성하는보다 실질적인 방법이 있습니까? 아니면 중첩 된 if에 대해 사람들이 의미하는 바를 오해합니까?
if(A){
if(B){
//Do Something
} else {
//Do Something Else
}
} else {
//Do Third thing
}
대기가 ... 아니, 그 사람이 여전히 단축하려고 if()
의 이상의 인스턴스를 사용합니다 : 중첩 된 IFS에 관한 모든 질문과 같은 제 1 층에는 코드가없는 것으로 보인다. particular example 나는 두 개의 똑같은 성명을 가지고 있다고 생각했다. Anywhere는 적절한 중첩 된 if 문에 대한 이러한 예제입니까? 아니면이 코드를 작성하는 데 더 나은/명확한 /보다 명확한/더 빠르고/표준적인 방법이 있습니까?
잘 작성된 중첩 된 if에 대해서는 이의가 없습니다. – mplungjan
추신 : 당신은 동시에 upvoted 및 화제 끄기 :) – mplungjan
기다려 ... 내가 어떻게 주제 떨어져있어? 내가 아니라고 주장하지 않고, 어떤 특성으로 인해 주제를 알 수 있는지 알고 싶습니다. – RoboticRenaissance