Come tenere traccia degli autori del codice? [chiuso]


14

Questo è qualcosa che non mi è mai stato insegnato. Ho visto molti tipi diversi di stili di creazione. Codice principalmente in Java e Python. Mi chiedevo se esistesse uno stile di authoring standard o se tutto fosse freestyle. Inoltre, se rispondi, ti dispiacerebbe allegare lo stile che usi per creare file creati da te a casa o al lavoro.

Di solito vado e basta

@author garbagecollector
@company garbage inc.

3
Da dove viene la persona che cambia il tuo codice?
JeffO,

@Jeff dove e come appare.
polveroso

Non ha senso farlo. Perché vorresti farlo?
CodeART

Risposte:


-1

Non sono del tutto sicuro di ciò che stai chiedendo, tuttavia uso uno stile molto rigoroso:

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

Lo stile si ispira ai programmatori di assemblaggio.

Ho messo questo nella parte superiore delle pagine che ho bisogno di "Autore", indipendentemente dal fatto che si tratti di una classe, file di testo o stored procedure SQL ecc.


Questo è sulla falsariga di ciò che sto cercando.
polveroso

5
-1 Questo (che cresce molto se aggiornato (sia esso che il codice cambia da varie persone) viene effettivamente sostituito dal controllo della versione.
Michael Durrant

1
@MichaelDurrant ti sei dimenticato di chiudere la parentesi;) comunque fico. Mi piacciono i pinguini.
Darknight

4
@Giorgio Non proprio ... potrebbe non esserci una sola riga di codice dell'autore originale rimasta nel file. È inutile.
Wilbert,

1
@Wilbert: Naturalmente, dipende anche dalla politica del team: con la proprietà del codice condiviso, potrebbe essere inutile tenere traccia dell'autore di un file. Con la proprietà del codice individuale è importante sapere chi è responsabile di quali file.
Giorgio,

71

Perchè vorresti? questo è il lavoro del sistema di controllo delle versioni e "Blame" :)


8
controllo versione ftw.
Paul Nathan,

1
Ha ancora più senso farlo in questo modo se lo si considera come una gestione del codice sorgente (SCM) piuttosto che un sistema di controllo della versione (VCS).
Peter Eisentraut,

piccola limitazione, modifiche estetiche (rientro, ecc ...) cambiano l'autore della linea ...
Matthieu M.

4
@Matthieu: un buon SCM può mostrare chi ha fatto ciò che cambia nel tempo, non solo l'ultimo a toccarlo. Potrei anche sostenere che anche i cambiamenti estetici sono cambiamenti.
Grossvogel,

1
Questa risposta ha più di 8 anni e nessuno ha notato le sue restrizioni? Si applica solo se il codice sorgente rimane in un VCS per tutta la sua vita (o è migrato correttamente)! Tuttavia, molti codici open source vengono trasferiti di volta in volta tra diversi ambienti, quindi le informazioni sull'autore potrebbero non essere trasferite se non vengono scritte direttamente nel codice sorgente.
Doc Brown,

11

Non facciamo authoring presso la mia azienda. Invece, lasciamo che il controllo della nostra versione lo gestisca.

Ogni volta che effettui il check-in, allega il tuo nome utente all'elenco delle modifiche. Se qualcosa è rotto, qualcuno può tornare indietro e guardare la cronologia dei cambiamenti per vedere cosa è cambiato, quando e chi lo ha fatto. È anche bello guardare il grafico di revisione per vedere come un file si è evoluto nel tempo, chi l'ha toccato, quali progetti si sono ramificati da esso.

Il problema che vedo nel mettere un tag autore in una classe è che nel tempo è molto probabile che più di uno sviluppatore lavorerà su quella classe. Aggiornamenti e simili. È un passaggio in più per aggiornare quel commento dell'autore e piccoli passi in più tendono a essere dimenticati molto. Così diventa obsoleto rapidamente.


10

Non lo faccio affatto. Penso che al lavoro abbiamo un modello che viene inserito nei file con il nome dell'azienda e l'id utente della persona che ha modificato il file per ultimo, ma non ci faccio mai caso.

In generale, non penso che importi davvero come lo fai. Se vuoi timbrare i tuoi file con l'autore, scegli uno stile coerente e seguilo.


6

JavaDoc è molto standard nella comunità Java:

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

@author Nome-text

Aggiunge una voce "Autore" con il nome-testo specificato ai documenti generati quando viene utilizzata l'opzione -author. Un commento doc può contenere più @authortag. È possibile specificare un nome per @authortag o più nomi per tag. Nel primo caso, Javadoc inserisce una virgola (,) e uno spazio tra i nomi. In quest'ultimo caso, l'intero testo viene semplicemente copiato nel documento generato senza essere analizzato. Pertanto, utilizzare più nomi per riga se si desidera un separatore di nomi localizzato diverso dalla virgola.


5

Penso che sia meglio lasciare al sistema di controllo della versione.


4

Mi piace la funzione di colpa in GIT. Puoi vedere chi ha creato ogni pezzo / riga di codice. Non solo un file.


Altri VCS hanno la stessa cosa (anche se spesso non sono chiamati "colpa").
Richard,

Vorrei -1 questo perché è specifico GIT. OP non ha mai menzionato GIT. Ma ahimè, non ho abbastanza rappresentante da sottovalutare.
Thomas Eding,

2

Se stai lavorando a un grande progetto con molti collaboratori, annotare ogni file con un elenco di autori non funziona. Cosa fai con l'elenco degli autori quando dividi un file in più file più piccoli? Conservi il nome dell'autore originale se riscrivi completamente il codice? Aggiungete il vostro nome all'elenco degli autori quando correggete un errore di battitura nel commento?

È meglio lasciare queste domande al sistema di controllo della versione.

Ma non sono completamente contrario all'elenco degli autori. Tenere un elenco di autori per l'intero progetto ha perfettamente senso. Se è un progetto a file singolo, sicuramente, tienilo all'interno di quel file. Se è un progetto più grande, tienilo in README o nel tuo file sorgente di livello superiore (aka main.c). Ma non ripeterti elencando gli autori in ogni singolo file.


1

Teniamo traccia utilizzando il sistema di controllo della versione o inserendo @authoril codice. Un altro modo per farlo è quello di dire più in generale che alcune persone erano autori di interi moduli o dell'intero programma. Ciò incoraggia le persone a pensare a se stesse come parte di una squadra anziché come un ingranaggio nella macchina responsabile esattamente del numero X di funzioni o linee di codice.


0

Uso Doxygen commenti in stile (o talvolta KernelDoc) praticamente per tutto. Lavoro principalmente in C e PHP, dove Doxygen è piuttosto popolare.

Nella maggior parte dei casi, è utile includere almeno le seguenti informazioni:

  • Autorizzazione (o no) a copiarlo / Copyright dell'azienda o dell'individuo
  • Nome autore / e-mail
  • Data scritta
  • Data dell'ultima modifica

Ciò dovrebbe aiutare tutti coloro che stanno lavorando al file a sapere cosa hanno, cosa possono farci e chi possono chiedere aiuto se ne hanno bisogno. Indica anche loro se stanno guardando qualcosa di 10 anni.


0

Personalmente non lo faccio perché è una documentazione aggiuntiva che, come altri hanno detto, è nel controllo della versione. Ma se avessi intenzione di creare una sorta di snippit di codice kung-fu, probabilmente sarei pronto ad andare con qualunque cosa il mio IDE fosse in grado di generare automaticamente.

Ad esempio, usando in Delphi 7 con quei CNTools utili installati ho digitato

///a [enter]

e viene fuori

//<author></author>

poi scrivo

///d [enter]

e viene fuori

 //<date></date>

Immagino che corrisponda a qualcosa che un'utilità di terze parti può prendere in considerazione, ma per quanto riguarda me - Ho uno standard che non ho nemmeno dovuto inventare e corrompere me stesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.