Je suis un partisan du code correctement documenté, et je suis bien conscient des inconvénients possibles de celui-ci . Cela sort du cadre de cette question.
J'aime suivre la règle consistant à ajouter des commentaires XML pour chaque membre public, compte tenu de mon intérêt pour IntelliSense dans Visual Studio.
Il existe cependant une forme de redondance qui dérange même un commentateur excessif comme moi. À titre d'exemple, prenez List.Exists () .
/// <summary>
/// Determines whether the List<T> contains elements
/// that match the conditions defined by the specified predicate.
/// </summary>
/// <returns>
/// true if the List<T> contains one or more elements that match the
/// conditions defined by the specified predicate; otherwise, false.
/// </returns>
public bool Exists( Predicate<T> match )
{
...
}
Summary
et returns
disent essentiellement la même chose. Je finis souvent par écrire le résumé plus d'un returns
point de vue, en abandonnant returns
complètement la documentation.
Renvoie true lorsque la liste contient des éléments qui correspondent aux conditions définies par le prédicat spécifié, false dans le cas contraire.
De plus, la documentation des retours n'apparaît pas dans IntelliSense, donc j'écris plutôt toute information immédiatement pertinente dans summary
.
- Pourquoi auriez-vous besoin de documenter
returns
séparémentsummary
? - Des informations sur les raisons pour lesquelles Microsoft a adopté cette norme?
la source
Mon utilisation:
<summary>
décrit ce que fait la méthode (pour obtenir le<returns>
).<returns>
décrit la valeur de retour .Liens vers MSDN:
<summary>
.<returns>
la source
summary
état ne décrit «ce que fait la méthode». J'ai voté contre jusqu'à ce que vous preniez le temps de mettre à jour votre réponse pour clarifier la différence entre ce que le msdn déclare et ce que vous formulez. ; ptrue
si le prédicat correspond». Si quelqu'un a besoin de savoir ce qui constitue une correspondance, il peut lire le reste de la documentation.<summary>
et<returns>
faites-le». Comme l'a dit Blrfl, ce n'est qu'une ligne directrice que l'on peut ou non vouloir utiliser.Je pense que si la partie résumée est vraiment longue et descriptive, il pourrait être utile d'avoir à la fin une partie séparée et brève.
J'écris habituellement juste la
<summary>
partie dans mon propre code, en la formulant comme vous l'avez dit en disant "Renvoie _ ".Je mets dans toutes les remarques qu'un appelant devrait savoir qui ne sont pas évidentes d'après le nom et les paramètres de la méthode (et leurs noms). Heureusement, le nom et les paramètres de la méthode rendent suffisamment évident le fait que le commentaire peut être très bref.
la source
J'ai été déchiré par la même question philosophique ces derniers temps et je ne sais toujours pas ce qu'est une bonne solution. Mais jusqu'à présent, c'est mon approche ...
la source
returns
place. Je remarque également qu'ils utilisent toujours la même formulation, par exemple "vrai si ...; sinon, faux " pour les valeurs de retour booléennes. Je me demande s'ils ont également spécifié une convention à cet effet.Le résumé doit être aussi descriptif qu'il pourrait être utile; la description des paramètres et de la valeur de retour doit être courte et douce. Si vous avez le choix entre un mot et cinq, utilisez-en un. Resserrons votre exemple:
devient
la source
returns
Microsoft est beaucoup trop long. S'il doit faire quelque chose, c'est simplement pour rassurer que true signifie qu'il correspond, et false qu'il ne le fait pas.