> Si je prend le probleme a l'envers, on juge la qualité du code au fait qu'il fasse > plus ou moins que 3 niveaux ? et ce en dehors de tout autre postula ? sans > tenir compte même du sujet traité ? ni du language ?
Il n'est pas question de parler de qualité en tant que tel, mais bien de prendre en compte une caractéristique importante liée au code: ça doit être édité par des être humains. Et dans ce cadre, il faut prendre en compte les limitations de l'esprit de l'homme: par exemple les niveaux d'imbrications des structures de contrôle[1] ou le nombre de variables gérées au même instant[2] ou la longueur d'un bloc défini.
De nombreuses normes de codage suivent de tels principes: typiquement une fonction ne devrait pas faire plus d'un écran "normal" de longueur (avec une exception pour l'utilisation de structures type switch), ne pas inclure plus de 3-4 niveau d'imbrication dans les structures de contrôle, limiter la portée des variables, etc...
seb.
[1] Au passage, ne pas confondre structures de contrôle et définition.
[2] Il me semble que la limite était estimée à 7 variables simultanées.
[^] # Re: 2 idées
Posté par Sebastien (site web personnel) . En réponse à la dépêche Critères de personnalité d'un code. Évalué à 2.
> Si je prend le probleme a l'envers, on juge la qualité du code au fait qu'il fasse
> plus ou moins que 3 niveaux ? et ce en dehors de tout autre postula ? sans
> tenir compte même du sujet traité ? ni du language ?
Il n'est pas question de parler de qualité en tant que tel, mais bien de prendre en compte une caractéristique importante liée au code: ça doit être édité par des être humains. Et dans ce cadre, il faut prendre en compte les limitations de l'esprit de l'homme: par exemple les niveaux d'imbrications des structures de contrôle[1] ou le nombre de variables gérées au même instant[2] ou la longueur d'un bloc défini.
De nombreuses normes de codage suivent de tels principes: typiquement une fonction ne devrait pas faire plus d'un écran "normal" de longueur (avec une exception pour l'utilisation de structures type switch), ne pas inclure plus de 3-4 niveau d'imbrication dans les structures de contrôle, limiter la portée des variables, etc...
seb.
[1] Au passage, ne pas confondre structures de contrôle et définition.
[2] Il me semble que la limite était estimée à 7 variables simultanées.