Faut-il laisser nos coordonnées dans le code source?


15

Je laisse généralement mon adresse e-mail par courtoisie au cas où quelqu'un voudrait me poser une question à ce sujet plus tard. Est-ce que d'autres personnes laissent plus ou moins d'informations que cela? Quelqu'un laisse-t-il un numéro de téléphone ??


7
****** Non ******
Joel Etherton

1
@Joel - ****** Hell No. ****** Je me souviens d'une partie du code que j'ai déchaîné sur le monde et je préfère essayer de l'oublier plutôt que de m'en souvenir dans 10 ans. me demandant WTF! = P
jmq

Réponses:


28

Je ne laisse presque jamais mon nom ni mon adresse e-mail:

  • Il a tendance à être copié (ouais, mauvaise pratique) ; et je me retrouve avec des gens qui me contactent pour le code que je n'ai pas écrit
  • Lorsque le code est modifié, les coordonnées ne sont ni supprimées ni mises à jour; et je me retrouve avec des gens qui me contactent à propos de code qui a tellement changé que je ne le reconnais même pas.

Au lieu de cela, je préfère pointer les gens vers le référentiel de code (SVN, Git, ...) : là, ils peuvent avoir l'historique complet - et savoir qui a écrit / modifié la partie sur laquelle ils ont une question.


6

J'ai l'habitude de laisser mon nom ou mes initiales dans les en-têtes de commentaires, avec un numéro de révision et une brève description du changement.

J'ai récemment abandonné cette habitude étant donné que cela est redondant avec le contrôle de version, par exemple, toute personne intéressée à savoir qui a apporté les modifications peut voir l'historique complet du code source dans le contrôle de version.


Ah! Il est temps de se plaindre à NetBeans de leurs modèles par défaut.
Gio Borje

5

Si vous développez un logiciel de manière professionnelle, vous utilisez très probablement un système de contrôle de version (svn, hg, git, etc.). Dans ce cas, je trouve superflu de laisser vos informations personnelles dans le code puisque vous avez déjà un compte codeur (avec ces informations) pour pouvoir valider du code sur le projet.

Cependant, certaines personnes de la communauté open source trouvent intéressant de laisser un nom et une adresse e-mail pour le contact. Ce n'est pas du tout une mauvaise idée. Vérifiez ces exemples:

De FFmpeg:

/*
 * Interplay C93 video decoder
 * Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
 *
 * This file is part of FFmpeg.
 */

De DirectFB:

/*
   (c) Copyright 2001-2009  The world wide DirectFB Open Source Community (directfb.org)
   (c) Copyright 2000-2004  Convergence (integrated media) GmbH

   All rights reserved.

   Written by Denis Oliver Kropp <dok@directfb.org>,
              Andreas Hundt <andi@fischlustig.de>,
              Sven Neumann <neo@directfb.org>,
              Ville Syrjälä <syrjala@sci.fi> and
              Claudio Ciccani <klan@users.sf.net>.
*/

3

Mais laisser mon nom et / ou e-mail signifierait sûrement que je devais écrire des commentaires dans mon code ?? Désolé n'était pas une réponse. En réalité, je laisse généralement des commentaires doctype ...

/**
* @author PurplePilot
* @package
* @etc
*/

avec mon nom mais pas mon adresse e-mail. Oui, ce code peut être coupé et collé, mais si le copieur ne change pas le nom de l'auteur, il ne changera rien d'autre et il devient évident que c'est un commentaire non maintenu.

J'ai un e-mail que j'utilise de temps en temps

/* Anything you put in comments is not tested and easily goes out of date. */

qui semble être un reflet général de la plupart des autres messages de ce fil. Cependant, comme il n'y a pas de règles sur le sujet, un programmeur doit faire ce qui lui convient le mieux.


Euh ... quoi? Je pense que cela aurait dû être un commentaire.
Adam Lear

2
@Anna - Euh ... Je pense que c'est censé être une blague.
ocodo

@Slomojo Ouais, j'ai compris. Je pense quand même que c'est plus approprié comme commentaire. C'est mignon, mais une non-réponse.
Adam Lear

@Anna, oh je vois, peut-être, mais cela fonctionne comme une réponse à la question, quand je l'ai lu.
ocodo

2

Je laisse souvent mes initiales dans les commentaires (le cas échéant), mais je ne vois aucune raison de laisser quoi que ce soit de plus. Si je travaille toujours dans l'entreprise propriétaire du code, les gens devraient savoir comment me contacter.

Si j'ai quitté l'entreprise et que je travaille ailleurs, ce n'est pas vraiment juste pour mon nouvel employeur si je reçois des appels concernant des logiciels dans ma dernière entreprise (qui pourrait être un concurrent!).

Si le code a été partagé d'une autre manière (par exemple, open-source, publié en ligne), cela vaut peut-être la peine d'avoir vos coordonnées, mais si le code a été transmis d'une autre manière, la personne à qui vous l'avez donné aura probablement déjà votre coordonnées, et voudriez-vous vraiment qu'un inconnu aléatoire appelle pour vous demander le code que vous avez écrit des années plus tôt?


Oui dans une entreprise qui a du sens. Je pensais plutôt au code publié dans le domaine public.

1
Pour le code rendu public, je préfèrerais probablement mon nom / url / email dans l'en-tête. J'utiliserais probablement un alias de messagerie unique afin de pouvoir filtrer / bloquer le courrier s'il finissait par être spammé en raison de sa publication en ligne.
Danny Tuppeny

2

Il y a une ligne de pensée qui dit: Ne mettez pas dans votre code source des éléments qui devraient être dans le contrôle de code source.

Les informations sur la paternité sont l'une de ces choses, car au fil du temps, le code sera modifié par de nombreuses personnes à un niveau inférieur à la granularité des fichiers. Un journal de culpabilité devrait vous dire tout ce que vous devez savoir.

Cela étant dit, de nombreuses entreprises suivent la transition de la liste de l'auteur du fichier d'origine et ne le modifient jamais. Que ce soit vraiment utile (comme les gens quittent les entreprises), je ne sais pas.

Je soupçonne que la valeur principale est la sensibilisation. Vous n'allez pas demander à l'IDE de vous dire qui est l'auteur de chaque fichier que vous voyez, mais en les rencontrant au fil du temps dans la base de code de votre groupe, vous avez une idée des responsabilités et de l'expertise dans le projet.

Pour le domaine public - l'avantage est la "publicité", l'inconvénient est que quelqu'un pourrait détruire votre fichier à l'avenir, mais il porterait toujours votre nom.


2

Après 3 décennies de programmation et de maintenance et de conversion de logiciels, je peux affirmer que les informations sur l'auteur dans le code source sont sans valeur.

Je n'en ai jamais eu l'usage. On ne peut pas lui faire confiance. Aucune des personnes n'est encore employée par l'entreprise. La moitié des noms sont des entrepreneurs.


2

Je ne laisse jamais mes coordonnées dans le code. Il est toujours obsolète et semble causer plus de problèmes qu'il ne résout.

D'autres personnes ont signalé un certain nombre de problèmes, mais je voulais en mentionner un qui, selon moi, est le plus insidieux.

Cela peut détruire le travail d'équipe et la qualité du code.

Comment pouvez-vous demander, eh bien tout cela a à voir avec la propriété collective du code. Si vous mettez votre nom de code, la prochaine personne qui viendra dira "ce n'est pas mon code, je vais juste X" où X peut être piraté, ignoré, etc. Ensuite, s'ils le corrigent, ils bien sûr, veulent mettre leur nom sur le code parce qu'ils l'ont amélioré. Mais alors vous pensez peut-être, hé, j'ai passé des semaines sur ce code et ils ont passé 10 minutes pourquoi ont-ils pu avoir leur nom juste à côté du mien. Au fil du temps, ce cycle continue et les gens se demandent qui devrait obtenir le crédit (ou le blâme) pour le code.

Cela ne fonctionne tout simplement pas bien pour l'équipe. Au lieu de cela, si l'équipe se concentre sur la propriété collective et rend tout le code génial sans propriété, vous pouvez vous concentrer sur ce qui est vraiment important, à savoir la qualité du système. Si vous avez besoin de retrouver qui a travaillé dessus, vous pouvez toujours utiliser le VCS pour obtenir les détails.

Remarque: Même les en-têtes de copyright peuvent avoir cet impact destructeur s'il porte le nom d'un développeur, surtout si le développeur n'est pas aussi actif que les autres contributeurs. C'est pourquoi sur les projets Open Source j'essaie de ne mentionner que les auteurs dans un fichier AUTHORS ou contributeurs une place dans le projet.


1
Je pense que vos problèmes proviennent davantage de collègues mal pensés que des commentaires eux-mêmes.
Jay

Excellente réponse, certains projets open source interdisent même d'écrire des informations sur l'auteur dans des fichiers car cela casse la propriété collective du code.
Étienne

1

Je n'ai pas tendance à laisser mes coordonnées dans le code source car mon VCS se charge de la responsabilité pour moi.

Cela dit, il est conseillé d'avoir vos coordonnées quelque part afin que les personnes qui utilisent le code puissent vous contacter directement pour fournir des commentaires. Un lien vers un site Web de projet dans le fichier README est généralement une bonne pratique.

La convention vient de l'époque où Usenet et IRC étaient régulièrement utilisés pour partager le code source. Étant donné que le code était rarement lié à partir d'un VCS et plus souvent envoyé directement, si vous vouliez des commentaires, vous devriez inclure vos coordonnées quelque part.


1

Je laisse mon nom dans les scripts SQL, car ils seront principalement récupérés directement à partir de la base de données, pas à partir du contrôle de code source.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.