C'est le principe ouvert/fermé.
Connu en anglais sous le nom open/closed principle.
(dans notre cas du C++, je trouve plus explicite le commentaire de lmg HS que l'article Wikipédia)
Souvent, on préfère un code simple et fermé à à code complexe mais ouvert (évolutif).
L'idée est d'avoir un code simple, facile à comprendre, et le jour où on a vraiment besoin de le faire évoluer, et bien on le réécrit.
Le risque d'avoir un code complexe mais ouvert est de garder la complexité et de ne jamais profiter de son ouverture.
Je précise, je suis pour le principe ouvert/fermé. Je dis juste que des fois (voir souvent) ce n'est pas justifié.
Selon le contexte, on utilisera :
if constexpr pour du code simple et fermé ;
plusieurs templates pour du code complexe mais ouvert.
Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)
[^] # Re: Retour arrière sur l'OCP
Posté par Oliver (site web personnel) . En réponse à la dépêche C++17 branche à la compilation (`if constexpr`). Évalué à 3. Dernière modification le 05 décembre 2016 à 15:00.
C'est le principe ouvert/fermé.
Connu en anglais sous le nom open/closed principle.
(dans notre cas du C++, je trouve plus explicite le commentaire de lmg HS que l'article Wikipédia)
Souvent, on préfère un code simple et fermé à à code complexe mais ouvert (évolutif).
L'idée est d'avoir un code simple, facile à comprendre, et le jour où on a vraiment besoin de le faire évoluer, et bien on le réécrit.
Le risque d'avoir un code complexe mais ouvert est de garder la complexité et de ne jamais profiter de son ouverture.
Je précise, je suis pour le principe ouvert/fermé. Je dis juste que des fois (voir souvent) ce n'est pas justifié.
Selon le contexte, on utilisera :
if constexprpour du code simple et fermé ;Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)