-
De la qualité du code
Bonjour à toutes et à tous,
Je ne pense pas que ce sujet ait sa place ici, mais hors-mit dans "Général Developpement > Débat" dans lequel je n'ai pas les droits (apparemment la valeur attend le nombre des messages :)), je vous fait mes plus plates excuses par avance.
Je code maintenant depuis près de 10 ans (tout en ayant commencé assez jeune) et depuis quelques temps je me suis posé une question assez simple mais qui implique finalement une réponse moins évidente : qu'est-ce qui rends un code brillant ?
Voici les assertions que fais pour un code de qualité "normale" :
- Il est correcte (efficace, il atteint ses objectifs)
- Il est économe en espace et en temps (efficience)
- il est cohérent (dont indentation, style [indentation, etc.], conventions de nommage, etc.)
- Il a une architecture claire
- Il est sans bug ni faille
- Il est correctement commenté et documenté
- Il est bien découpé (routines courtes, etc.)
Je n'ai aucun mal à distinguer du code correct ou du code médiocre mais j'avoue que je ne me suis jamais retrouvé devant un code en me disant : "c'est génial" ou autre.
Ma question est : comment détermine-t-on qu'un code est "intelligent" ? est-ce que ça vous est déjà arriver "d'admirer" un code ? si oui, lequel ?
Envoyez vos liens, livres, sources, what if ?
Pour votre aide,
Par avance,
Merci.
-
Tout est relatif
Cela dépend de ton environnement de travail. Bien que très peu programmeur, je suis d'accords avec tes différents points et aimerait en ajouter quelques autres.
Si tu travailles en équipe (plus ou moins large) dans laquelle coopération prime sur compétition, code génial est celui qui est aisément compréhensible par les autres et qui est aisément modifiable si besoin est. De plus, il a besoin d'être aisément greffé par de nouvelles fonctionnalités.
Si par contre, l'équipe (ou l'environnement) est plus compétitif que coopératif, code génial est le code casserole de spaghetti bien trop cuit qui reste totalement incohérent et incompréhensible par quiconque d'autre que son créateur. De ce fait, ce créateur devient irremplaçable dans l'entreprise sans investissement massif (pour tout recoder).