Comment suivez-vous les auteurs du code? [fermé]

14

C'est quelque chose qu'on ne m'a jamais appris. J'ai vu beaucoup de différents types de styles de création. Je code principalement en Java et Python. Je me demandais s'il y avait un style de création standard ou si tout était freestyle. Aussi, si vous répondez, cela vous dérangerait d'attacher le style que vous utilisez pour créer des fichiers que vous créez à la maison ou au travail.

Je vais juste

@author garbagecollector
@company garbage inc.
poussiéreux
la source
3
Où la personne qui change votre code a-t-elle mis son nom?
JeffO
@Jeff où et à quoi ça ressemble.
dustyprogrammer
Cela n'a aucun sens. Pourquoi voudriez-vous faire ça?
CodeART

Réponses:

-1

Je ne sais pas exactement ce que vous demandez, mais j'utilise un style très strict:

;==========================================
; Title:  Author Style Sample
; Author: Darknite
; Date:   7 Jan 2011
;==========================================

Le style est inspiré des programmeurs d'assemblage.

Je mets cela en haut des pages dont j'ai besoin pour "Auteur", qu'il s'agisse d'une classe, d'un fichier texte ou d'une procédure stockée SQL, etc.

Nuit noire
la source
C'est dans le sens de ce que je recherche.
dustyprogrammer
5
-1 Ceci (qui grandit beaucoup s'il est mis à jour (à la fois lui et le code change par diverses personnes) est effectivement remplacé par le contrôle de version.
Michael Durrant
1
@MichaelDurrant vous avez oublié de fermer vos parenthèses;) de toute façon cool. J'aime les pingouins.
Darknight
4
@Giorgio Pas vraiment ... il ne reste peut-être pas une seule ligne de code de l'auteur original dans le fichier. C'est inutile.
Wilbert
1
@Wilbert: Bien sûr, cela dépend aussi de la politique de l'équipe: avec la propriété du code partagé, il peut être inutile de garder la trace de l'auteur d'un fichier. Avec la propriété d'un code individuel, il est important de savoir qui est responsable de quels fichiers.
Giorgio
71

Pourquoi voudrais-tu? c'est le travail du système de versioning et de "Blame" :)

Homde
la source
8
contrôle de version ftw.
Paul Nathan
1
Il est encore plus logique de le faire de cette façon si vous le considérez comme une gestion de code source (SCM) plutôt que comme un système de contrôle de version (VCS).
Peter Eisentraut
petite limitation, modifications cosmétiques (indentation, etc ...) changent l'auteur de la ligne ...
Matthieu M.
4
@Matthieu: Un bon SCM peut montrer qui a fait quoi change avec le temps, pas seulement le dernier à le toucher. Je pourrais également affirmer que les changements cosmétiques sont également des changements.
grossvogel
1
Cette réponse a plus de 8 ans et personne n'a remarqué ses restrictions? Il ne s'applique que si le code source reste dans un VCS sur toute sa durée de vie (ou est correctement migré)! Cependant, de nombreux codes open source sont transférés de temps à autre entre différents environnements, de sorte que les informations sur l'auteur peuvent ne pas être transmises si elles ne sont pas écrites directement dans le code source.
Doc Brown
11

Nous ne faisons pas de création dans mon entreprise. Au lieu de cela, nous laissons notre contrôle de version s'en occuper.

Chaque fois que vous vous enregistrez, il associe votre nom d'utilisateur à la liste des modifications. Si quelque chose est cassé, quelqu'un peut revenir en arrière et consulter l'historique des changements pour voir ce qui a changé, quand et qui l'a fait. Il est également intéressant de regarder le graphique de révision pour voir comment un fichier a évolué au fil du temps, qui l'a touché, quels projets en ont dérivé.

Le problème que je vois avec la mise en place d'une balise d'auteur sur une classe est qu'au fil du temps, il est très probable que plus d'un développeur travaillera sur cette classe. Mises à jour, etc. C'est une étape supplémentaire pour mettre à jour ce commentaire d'auteur, et les petites étapes supplémentaires ont tendance à être souvent oubliées. Ainsi, il devient rapidement obsolète.

Tyanna
la source
10

Je ne fais pas ça du tout. Je pense qu'au travail, nous avons un modèle qui est inséré dans les fichiers avec le nom de l'entreprise et l'ID utilisateur de la dernière personne à avoir modifié le fichier, mais je n'y prête jamais attention.

En général, je ne pense pas que la façon dont vous le faites importe vraiment. Si vous souhaitez estampiller vos fichiers, choisissez simplement un style cohérent et allez-y.

Adam Lear
la source
6

JavaDoc est très standard dans la communauté Java:

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javadoc.html#@author

@author nom-texte

Ajoute une entrée "Auteur" avec le nom-texte spécifié aux documents générés lorsque l'option -author est utilisée. Un commentaire de doc peut contenir plusieurs @authorbalises. Vous pouvez spécifier un nom par @authorbalise ou plusieurs noms par balise. Dans le premier cas, Javadoc insère une virgule (,) et un espace entre les noms. Dans ce dernier cas, le texte entier est simplement copié dans le document généré sans être analysé. Par conséquent, utilisez plusieurs noms par ligne si vous souhaitez un séparateur de noms localisé autre que la virgule.

Luca Matteis
la source
5

Je pense qu'il vaut mieux laisser le système de contrôle de version.

Tundey
la source
4

J'aime la fonction de blâme dans GIT. Vous pouvez voir qui est l'auteur de chaque morceau / ligne de code. Pas seulement un fichier.

chiurox
la source
D'autres VCS ont la même chose (bien que souvent ils ne soient pas appelés "blâme").
Richard
Je voudrais -1 car il est spécifique à GIT. OP n'a jamais mentionné GIT. Mais hélas, je n'ai pas assez de représentants pour voter contre.
Thomas Eding
2

Si vous travaillez sur un grand projet avec de nombreux contributeurs, l'annotation de chaque fichier avec la liste des auteurs ne fonctionne tout simplement pas. Que faites-vous avec la liste des auteurs lorsque vous divisez un fichier en plusieurs fichiers plus petits? Conservez-vous le nom de l'auteur d'origine si vous réécrivez complètement le code? Ajoutez-vous votre nom à la liste des auteurs lorsque vous corrigez une faute de frappe dans un commentaire?

Il vaut mieux laisser ces questions au système de contrôle de version.

Mais je ne suis pas complètement contre la liste des auteurs. Garder une liste d'auteurs pour l'ensemble du projet est parfaitement logique. S'il s'agit d'un projet à fichier unique, bien sûr, conservez-le dans ce fichier. S'il s'agit d'un projet plus important, conservez-le dans README ou dans votre fichier source de niveau supérieur (aka main.c). Mais ne vous répétez pas en listant les auteurs dans chaque fichier.

René Saarsoo
la source
1

Nous suivons en utilisant le système de contrôle de version ou en plaçant @authorle code. Une autre façon de le faire est de dire plus généralement que certaines personnes ont été auteurs de modules entiers ou de tout le programme. Cela encourage les gens à se considérer comme faisant partie d'une équipe plutôt que comme un rouage de la machine qui est responsable d'un nombre X de fonctions ou de lignes de code exactement.

Rudolf Olah
la source
0

J'utilise des commentaires de style Doxygen (ou parfois KernelDoc) pour à peu près tout. Je travaille principalement en C et PHP, où Doxygen est assez populaire.

Dans la plupart des cas, il est utile d'inclure au moins les informations suivantes:

  • Autorisation (ou non) de le copier / Copyright de l'entreprise ou de l'individu
  • Nom de l'auteur / e-mail
  • Date écrite
  • Date de dernière modification

Cela devrait aider quiconque travaille sur le fichier à savoir ce qu'il a, ce qu'il peut en faire et à qui demander de l'aide s'il en a besoin. Il leur indique également s'ils regardent quelque chose de 10 ans.

Tim Post
la source
0

Je ne fais pas personnellement cela parce que c'est une documentation supplémentaire qui, comme d'autres l'ont dit, est dans le contrôle de version. Mais si je devais faire une sorte d'extrait de code kung-fu, je serais probablement apte à utiliser tout ce que mon IDE était capable de générer automatiquement.

Par exemple, en utilisant Delphi 7 avec ces CNTools utiles installés, je tape

///a [enter]

et sort

//<author></author>

alors je tape

///d [enter]

et sort

 //<date></date>

J'imagine que cela correspond à quelque chose qu'un utilitaire tiers peut récupérer, mais moi, j'ai une norme que je n'ai même pas eu à inventer et à corrompre.

Peter Turner
la source