Je viens apporter ma contribution. Personnellement que ce soit en C++ ou dans n'importe quel autre langage pour moi c'est à peu près pareil, j'utilise ce qui à mon sens est le plus expressif, c'est à dire dans l'ordre de préférence :
- une méthode d'une bibliothèque s'il en existe une adaptée
- une méthode de la bibliothèque standard (ou STL pour le cas du C++)
- une construction à base de for_each, si le cas si prête bien (j'itère sur toute la liste, sans break)
- for, si j'ai bien un pattern initialisation/test de sortie/incrémente (ou autre)
- while ou do .. while si rien de ce qui précède n'a sa place
Et plus je descends dans cette liste, plus je commente. Parce qu'au moins le code est expressif.
Pour moi il y a deux arguments à cela :
- les méthodes « classiques » sont plus expressives et comme disent certains un code simple l'est suffisament pour se passer de commentaire
- pour moi réutiliser l'existant est à la fois l'essence de l'informatique (ça doit servir à nous simplifier la vie !)
- je présume que les gens qui ont écris la bibliothèque standard ou pas, se sont plus pris la tête que moi ou sont meilleurs que moi et on écris une code de meilleur qualité que le miens
Si un jour cela me pose un problème de performance ou pour la gestion des accès concurrent alors je m'attellerais à avoir un algorithme qui possède les propriété dont j'ai besoin mais par défaut je ne vais pas le faire de manière préventive.
Cela vient aussi du fait que j'aime beaucoup les constructions de perl comme :
say join ';', map { $_ * 2} split /_/, '2_3_4';
Partager