Dovremmo lasciare i nostri dettagli di contatto nel codice sorgente?

14

Solitamente, il mio indirizzo email viene lasciato a titolo di cortesia nel caso qualcuno voglia farmi una domanda in seguito. Le altre persone lasciano più o meno informazioni di quelle? Qualcuno lascia un numero di telefono ??

    
posta probably at the beach 04.03.2011 - 18:22
fonte

10 risposte

28

Non ho quasi mai lasciato il mio nome né l'indirizzo e-mail:

  • Tende ad essere incollato sulla copia (sì, cattiva pratica) ; e finisco con le persone che mi contattano per il codice che non ho scritto
  • Una volta modificato il codice, le informazioni di contatto non vengono rimosse né aggiornate; e finisco con le persone che mi contattano sul codice che è cambiato così tanto da non riconoscerlo nemmeno.

Preferisco invece indicare le persone al repository di codice (SVN, Git, ...) : lì, possono avere la cronologia completa - e scoprire chi ha scritto / modificato la parte che hanno avere una domanda su.

    
risposta data 04.03.2011 - 18:27
fonte
6

Ho l'abitudine di lasciare il mio nome o le iniziali nelle intestazioni dei commenti, con un numero di revisione e una breve descrizione del cambiamento.

Recentemente sono uscito da quell'abitudine dato che questo è ridondante con il controllo della versione, ad es. chiunque sia interessato a chi ha apportato le modifiche può vedere l'intera cronologia del codice sorgente nel controllo della versione.

    
risposta data 04.03.2011 - 18:27
fonte
5

Se stai sviluppando software in modo professionale, probabilmente stai utilizzando un sistema di controllo della versione (svn, hg, git, ecc.). In questo caso, trovo ridondante lasciare le tue informazioni personali all'interno del codice poiché hai già un account coder (con queste informazioni) per poter eseguire il commit del codice sul progetto.

Tuttavia, alcune persone della comunità open source trovano interessante lasciare un nome e un indirizzo e-mail per i contatti. Questa non è affatto una cattiva idea. Controlla questo esempio:

Da FFmpeg:

/*
 * Interplay C93 video decoder
 * Copyright (c) 2007 Anssi Hannula <[email protected]>
 *
 * This file is part of FFmpeg.
 */

Da 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 <[email protected]>,
              Andreas Hundt <[email protected]>,
              Sven Neumann <[email protected]>,
              Ville Syrjälä <[email protected]> and
              Claudio Ciccani <[email protected]>.
*/
    
risposta data 04.03.2011 - 19:45
fonte
3

Ma sicuramente lasciare il mio nome e / o e-mail significherebbe che avrei dovuto scrivere commenti nel mio codice ?? Spiacente non era una risposta. In realtà di solito lascia commenti doctype ...

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

con il mio nome ma non l'indirizzo email. Sì, questo codice può essere tagliato e incollato, ma se la fotocopiatrice non cambia il nome dell'autore, non cambierà nient'altro e diventa ovvio che è un commento non mantenuto.

Ho un messaggio e-mail che uso di tanto in tanto che va

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

che sembra essere un riflesso generale di molti altri post in questa discussione. Tuttavia, poiché non ci sono regole in materia, un programmatore deve fare ciò che ritiene più comodo.

    
risposta data 04.03.2011 - 20:59
fonte
2

Spesso lascio le mie iniziali nei commenti (dove appropriato), ma non vedo alcun motivo per lasciare qualcosa di più. Se sto ancora lavorando alla società proprietaria del codice, le persone dovrebbero sapere come mettersi in contatto con me.

Se ho lasciato la compagnia e ho lavorato altrove, non è giusto per il mio nuovo datore di lavoro se prendo chiamate al software nella mia ultima società (chi potrebbe essere un concorrente!).

Se il codice è stato condiviso in altro modo (ad esempio open-source, pubblicato online), allora è probabilmente utile avere i tuoi dati di contatto, ma se il codice è stato trasmesso in un altro modo, probabilmente la persona a cui lo hai assegnato hai già i tuoi dati di contatto e vorresti davvero che un estraneo casuale chiami chiedendo del codice che hai scritto anni prima?

    
risposta data 04.03.2011 - 18:28
fonte
2

C'è una linea di pensiero che dice: non inserire il codice sorgente che dovrebbe essere nel controllo del codice sorgente.

Le informazioni sull'autore sono una di queste cose, poiché nel tempo il codice verrà modificato da molte persone a meno della granularità dei file. Un log di colpa dovrebbe dirti tutto quello che devi sapere.

Detto questo, molte aziende seguono la transizione di elencare l'autore del file originale e non cambiarlo mai. Che sia davvero utile (dato che la gente lascia le aziende), non lo so.

Sospetto che il valore principale stia creando consapevolezza. Non andrai a chiedere all'IDE di dirti chi ha creato ciascun file che vedi, ma incontrandoli nel tempo nella base di codice del tuo gruppo, avrai un'idea delle responsabilità e delle competenze nel progetto.

Per pubblico dominio - il vantaggio è "pubblicità", il rovescio della medaglia è che qualcuno potrebbe distruggere il tuo file in futuro, ma continuerà a portare il tuo nome.

    
risposta data 04.03.2011 - 18:51
fonte
2

Dopo 3 decenni di programmazione e software di mantenimento e conversione, posso tranquillamente dire che le informazioni dell'autore nel codice sorgente sono inutili.

Non l'ho mai usato. Non ci si può fidare. Nessuna delle persone è ancora assunta dall'azienda. La metà dei nomi sono imprenditori.

    
risposta data 04.03.2011 - 19:23
fonte
2

Non lascio mai i miei dettagli di contatto nel codice. Diventa sempre obsoleto e sembra causare più problemi che risolve.

Altre persone hanno segnalato alcuni dei problemi, ma volevo menzionarne uno che ritengo sia l'effetto più insidioso.

Può distruggere il lavoro di squadra e la qualità del codice.

Come puoi chiedere, beh, tutto ciò ha a che fare con la proprietà collettiva del codice. Se metti il tuo nome del codice, allora la prossima persona che entrerà dirà "che non è il mio codice, farò solo X" dove X può essere hackerarlo, ignorarlo, ecc. Quindi se lo risolvono, loro ovviamente vogliono mettere il loro nome sul codice perché lo hanno migliorato. Ma poi potresti pensare, hey ho passato settimane su questo codice e hanno passato 10 minuti perché hanno il diritto di avere il loro nome dal mio. Nel corso del tempo questo ciclo continua e le persone discutono su chi dovrebbe ottenere il credito (o la colpa) per il codice.

Semplicemente non funziona bene per la squadra. Se invece il team si concentra sulla proprietà collettiva e rende tutto il codice ottimo senza alcuna proprietà, è possibile concentrarsi su ciò che è veramente importante, ovvero la qualità del sistema. Se hai bisogno di rintracciare chi ha lavorato su di esso puoi sempre usare il VCS per ottenere i dettagli.

Nota: anche le intestazioni di copyright possono avere questo impatto distruttivo se ha il nome di uno sviluppatore, specialmente se lo sviluppatore non è attivo come altri contributori. Ecco perché nei progetti Open Source cerco di menzionare solo gli autori in un file AUTORI o contributori in un posto nel progetto.

    
risposta data 04.03.2011 - 20:17
fonte
1

Non tendo a lasciare le mie informazioni di contatto nel codice sorgente mentre il mio VCS si prende cura della responsabilità per me.

Detto questo, è consigliabile avere le tue informazioni di contatto da qualche parte in modo che le persone che usano il codice possano contattarti direttamente per fornire feedback. Un link a un sito web del progetto nel file README è in genere una buona pratica.

La convenzione viene dall'era in cui Usenet e IRC venivano usati regolarmente per condividere il codice sorgente. Poiché il codice è stato raramente collegato da un VCS e più spesso inviato direttamente, se si desidera ricevere un feedback, è necessario includere le informazioni di contatto da qualche parte.

    
risposta data 04.03.2011 - 22:34
fonte
1

Lascio il mio nome negli script SQL, in quanto verranno prelevati principalmente dal database, non dal controllo del codice sorgente.

    
risposta data 04.03.2011 - 23:15
fonte

Leggi altre domande sui tag