2015-09-05 1 views
0

Assez souvent, j'ai une déclaration if où j'ai deux cas, dont l'un nécessite un one-liner et l'autre qui nécessite beaucoup de code à traiter . Du point de vue de la lisibilité, que dois-je mettre en premier, étant donné que je ne sais pas quelle est la probabilité que chacun soit? Alors:Devrais-je mettre le cas facile ou le cas dur d'abord dans une instruction if

if(flag) { 
    // lots and lots and lots of code 
    // blah 
    // blah 
    // blah 
    // blah 
    // blah 
    // blah 
    // etc 
} else { 
    // easy one liner 
} 

par rapport à

if(!flag) { 
    // easy one liner 
} else { 
    // lots and lots and lots of code 
    // blah 
    // blah 
    // blah 
    // blah 
    // blah 
    // blah 
    // etc 
} 

Remarque: Ce n'est pas une question de performance, mais la lisibilité/facilité d'entretien d'un.

+0

Semble plus applicable à programmers.se ... –

Répondre

1

Je trouve que l'autre est aussi proche que possible de l'original "si", donc je peux voir que c'est là. Vos exemples sont courts, donc cela n'a pas vraiment d'importance, mais il semble que les strophes deviennent longues.

Ce que je préfère est de perdre l'autre et écrire:

If (flag){ 
... 
} 

if (!flag){ 
... 
} 
1

également pour une meilleure lisibilité, si vous avez beaucoup et beaucoup de code dans les premiers supports, pourquoi ne pas extraire ce code dans un séparé fonction?

(if flag){ 
    foo(parameters); 
} 
else 
{ 
//one liner 
}