35 votes

C++ "Paramètre Nommé Idiome" vs Boost::Paramètre de la bibliothèque

J'ai regardé les deux le Paramètre Nommé Idiome et le Boost::Paramètre de la bibliothèque. Quels sont les avantages de chacun sur les autres? Est-il une bonne raison de choisir l'un sur l'autre, ou peut-chacun d'entre eux peut être mieux que les autres dans certaines situations (et si oui, quelles sont les situations)?

19voto

Robert Gould Points 29406

La mise en œuvre de Paramètre Nommé Idiome est vraiment facile, presque aussi facile que d'utiliser Boost::Paramètre, donc ça se résume à un point principal.

-Avez-vous déjà boost dépendances? Si vous ne le faites pas, Boost::le paramètre n'est pas assez spécial pour le mérite de l'ajout de la dépendance.

Personnellement je n'ai jamais vu Boost::paramètre dans le code de production, 100% du temps sa fait une implémentation personnalisée de Paramètres Nommés, mais ce n'est pas nécessairement une bonne chose.

16voto

Ferruccio Points 51508

Normalement, je suis un grand fan de Boost, mais je ne voudrais pas utiliser le Boost.Paramètre de la bibliothèque pour un couple de raisons:

  1. Si vous ne savez pas de quoi il en retourne l'appel dirait que vous êtes l'attribution une valeur à une variable dans la portée sur la fonction d'appel avant de faire l'appel. Qui peut être très source de confusion.
  2. Il y a trop de code réutilisable nécessaire de le configurer en premier lieu.

9voto

sdf Points 81

Un autre point, bien que je n'ai jamais utilisé le Paramètre Nommé Idiome, j'ai utilisé Boost Paramètre pour définir jusqu'à 20 arguments optionnels. Et, mon temps de compilation sont fous. Ce qui permet de prendre une couple de secondes, maintenant prend 30sec. Cela fait si vous avez une bibliothèque de trucs que l'utilisation de votre une petite application que vous avez écrit à l'aide de boost paramètre. Bien sûr, je pourrais peut être mise en œuvre à tort, mais j'espère que cela change, en raison autre que cela, je l'aime vraiment.

2voto

moogs Points 4031

Le Paramètre Nommé idiome est BEAUCOUP plus simple. Je ne peux pas voir (dès maintenant) pourquoi nous avons besoin de la complexité de la Boost::Paramètre de la bibliothèque. (Même la prétendue "fonctionnalité" de Déduire les paramètres, apparaît comme un moyen d'introduire des erreurs de codage ;) )

2voto

Raindog Points 588

Vous avez sans doute ne voulez pas de coup de pouce.Paramètre pour les applications générales de la logique autant que vous le souhaitez pour le code de la bibliothèque que vous êtes en développement où il peut être tout à fait un gain de temps pour les clients de la bibliothèque.

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