amélioration de code à base de if imbriqués
Dans une fonction, pour des besoins métiers et fonctionnels, j'ai la structure suivante
Attention ! Ça pique les yeux !!!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
if(A!= null && A.truc == true)
{
....if (B!= null && B.truc == true)
....{
........if (C!= null && C.truc == true)
........{
.............if (D == null ||!(D.machin == E.biduleA || D.machin == E.biduleB || D.machin == E.biduleC)) return false;
........}
........else
........{
.............if (D == null ||!(D.machin == E.biduleA || D.machin == E.biduleB )) return false;
........}
....}
....else
....{
........if (C!= null && C.truc == true)
........{
.............if (D == null ||!(D.machin == E.biduleA || D.machin == E.biduleC)) return false;
.........}
.........else
.........{
.............if (D == null || D.machin != E.biduleA) return false;
.........}
.....}
}
else
{
....if (B!= null && B.truc == true)
....{
.........if (C!= null && C.truc == true)
.........{
..............if (D == null ||!(D.machin == E.biduleB || D.machin == E.biduleC)) return false;
..........}
.........else
........{
.............if (D == null || D.machin != E.biduleB) return false;
.........}
....}
....else
....{
.........if D== null || D.machin != E.biduleC) return false;
....}
} |
quelqu'un a-t-il une idée pour optimiser ce code ?
C'est du Winform classique, 100% "Client lourd"