• [^] # Re: Lisibilité du code

    Posté par (site web personnel) . En réponse au journal Switch, chaîne constante et c++. Évalué à 4.

    Question d'habitude. Quand tu commence à jouer avec des API fluent, ça se lit vite.

    En fait l’implémentation est complexe, mais l'usage est relativement simple et lisible. De mon point de vue il n'est pas forcement nécessaire de comprendre l’implémentation d'une abstraction pour l'utiliser correctement.

    Ainsi j'aime bien l'approche StringSwitch qui est très claire (à mon sens). Je trouve que l'approche à base de std::map ne devrait pas exposer la std::map directement ni le find. Je ferais un truc du genre : (Api non testé).

    template<typename Result, typename Value>
    Result Switch(Value v, std::map<Value, std::function<Result()>>);