Je résume le commentaire de lmg HS qui en bref disait que nous avons le choix entre :
if constexpr pour du code simple ;
plusieurs templates pour du code complexe mais ouvert/fermé.
Voici mon commentaire corrigé
if constexpr simplifie le code et tan pis pour le principe ouvert/fermé.
Car souvent, on préfère un code simple plutôt qu'un code complexe mais ouvert/fermé (é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/fermé est de garder la complexité et de ne jamais profiter de son principe ouvert/fermé.
Je précise, je suis pour le principe ouvert/fermé, et c'est mieux quand on peu allier simplicité à ouvert/fermé.
Je dis juste que des fois (voir souvent) complexifier n'est pas justifié, vaut mieux avoir simple et risquer tout casser.
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.
Oui, tu as raison whity, merci. Je corrige :-)
Je résume le commentaire de lmg HS qui en bref disait que nous avons le choix entre :
if constexprpour du code simple ;Voici mon commentaire corrigé
if constexprsimplifie le code et tan pis pour le principe ouvert/fermé.Car souvent, on préfère un code simple plutôt qu'un code complexe mais ouvert/fermé (é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/fermé est de garder la complexité et de ne jamais profiter de son principe ouvert/fermé.
Je précise, je suis pour le principe ouvert/fermé, et c'est mieux quand on peu allier simplicité à ouvert/fermé.
Je dis juste que des fois (voir souvent) complexifier n'est pas justifié, vaut mieux avoir simple et risquer tout casser.
Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)