10
votes

Avez-vous un commentaire d'en-tête de fichier au début de chaque fichier de code créé par l'homme?

Je vais passer par Cadre de code tout-en-un Document de normalisation de codage et une des recommandations est Pour ajouter un commentaire d'en-tête de fichier au début de chaque fichier de code créé par l'homme. C'est la première fois que j'ai vu une telle recommandation et pour moi, c'est juste un fouillis inutile et moche, mais je me demande si quelqu'un pouvait expliquer pourquoi M $ recommande à cela?

Leur exemple ressemble à ceci: xxx


0 commentaires

6 Réponses :


2
votes

Ce n'est pas une suggestion inhabituelle. Apache, par exemple, nécessite également des informations de licence dans chaque fichier de code source:

http://www.apache.org/legal/src-headers.html

Les raisons de cela varient, mais pour une discussion raisonnable sur eux, consultez:

Publication de licence dans chaque fichier de code?

De nombreux projets ne font pas chaque fichier source, mais l'une des raisons d'obéir à cette politique sur une base de fichier par source est (directement à partir de la discussion ci-dessus à propos de):

"Fondamentalement, tout ce que vous réalisez est inférieur Risque de personnes violant accidentellement vos termes de licence. Tu devras décider à quel point c'est important pour vous. "

- https://stackoverflow.com/users/16883/michael-borgwardt


0 commentaires

1
votes

Je suis cette norme juste parce que cela vous donne une idée de ce que le fichier fait sur le premier coup d'œil. Accordé cela n'est vrai que si la personne qui écrit l'en-tête a mis l'effort pour écrire une bonne description, mais je le fais généralement ainsi que l'ajout d'une section de modifiations pour noter les modifications majeures du fichier.


0 commentaires

17
votes

personnellement, à moins que vous ne disposiez de mettre en place un avertissement légal de votre code (tel que si vous allez ouvrir la source ou la distribuer avec un produit) Je trouve une valeur limitée dans un en-tête courant dans chaque fichier source . occasionnellement, si vous incluez le code source d'une tierce partie ou à partir d'un projet open source, vous pouvez être obligé d'inclure une clause de non-responsabilité et un relevé d'origine sur ce code.

à la place, je préfère utiliser des commentaires de code C # XML et concentrer ma documentation sur les types et les classes, plutôt que des "modules" ou des fichiers de code. documentation qui vit avec un type (ou une méthode, ou Enum, etc.) est moins susceptible de devenir obsolète et offre une meilleure granularité. Il existe également de nombreux outils pouvant convertir de tels commentaires en documentation et ou l'utiliser pour fournir un soutien IntelliSense.

Historiquement, cette pratique est originaire de langues dans lesquelles des fonctions mondiales, des constantes et des structures pourraient vivre presque n'importe où; et seraient souvent co-localisés soit pour des raisons de dépendance organisationnelles ou compilation. Celles-ci sont presque entièrement non pertinentes dans le monde géré / .net.


2 commentaires

Je cherchais un outil qui insérerait automatiquement un bloc de commentaire dans mes fichiers source. Cependant, vous venez de mettre fin à ma recherche. Je suis convaincu ... merci.


@Omtara, vous le savez peut-être déjà, car il s'agit d'un ancien poste, mais il y a une bibliothèque / analyseur tout à fait pratique pour C # appelée stylecop, cela vous donnera la possibilité d'être invitée par IntelliSense et le moteur de construction pour ajouter un en-tête de fichier comme ainsi que d'ajouter de la documentation à vos types et à leurs membres.



4
votes

Ceci est souvent utile pour les projets open-source, les fichiers de code conçus pour être réutilisés dans d'autres projets et par d'autres personnes / sociétés, etc. Ce n'est pas particulièrement utile, disons, un environnement d'entreprise fermé où le code ne quitter la société, l'équipe travaille toujours ensemble et se connaît, il n'est pas nécessairement de "projets" mais simplement des modifications / améliorations en cours sur un produit central, etc.

Comme avec les normes de codage les plus recommandées de cette nature, c'est un appel de jugement.


0 commentaires

1
votes

Ceci est conçu pour satisfaire aux exigences légales.

Cela ne sert à aucun usage technique.


0 commentaires

1
votes

Vous lisez une norme de codage pour des sources fournies par Microsoft explicitement de la consommation publique comme des échantillons destinés aux personnes à regarder et à copier. Il est courant et attendu que ce type de code soit déchiré dans des fichiers individuels, de sorte que les présences des informations de licence dans chaque fichier sont importantes.

Comme tout le monde dit - pour les projets qui ne devraient pas être publics, ces en-têtes ne sont généralement pas nécessaires.


0 commentaires