47 votes

Fonctions de classe privée vs Fonctions dans un espace de noms sans nom

Je me suis retrouvé à ne pas avoir de fonctions de classe privées. Si possible, tous les candidats à la fonction de classe privée plutôt que je mets dans un espace de noms sans nom et passe toutes les informations nécessaires en tant que paramètres de fonction. Je n’ai pas d’explication solide pour expliquer pourquoi je fais ça, mais au moins cela me semble plus naturel. En conséquence, je dois exposer moins de détails internes dans le fichier d’en-tête.

Quelle est votre opinion - est-ce une pratique correcte?

6voto

Jerry Coffin Points 237758

Il s’agit essentiellement de savoir si la fonction en question a vraiment un sens en tant que partie de la classe. Si votre seule intention est de garder les détails de la classe hors de l’en-tête, j’envisagerais d’utiliser l’idiome pimpl à la place.

3voto

Peter Ruderman Points 6151

Je pense que c’est une bonne pratique. Il a souvent l’avantage de cacher également les structures auxiliaires et les types de données, ce qui réduit la fréquence et la taille des reconstructions. Cela facilite également la division des fonctions en un autre module s’il s’avère qu’elles sont utiles ailleurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X