Come tieni traccia degli autori del codice? [chiuso]

13

Questo è qualcosa che non mi è mai stato insegnato. Ho visto molti tipi diversi di stili di authoring. Io 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 collegare lo stile che utilizzi per creare file che crei a casa o al lavoro.

Di solito vado semplicemente

@author garbagecollector
@company garbage inc.
    
posta dustyprogrammer 07.01.2011 - 15:21
fonte

11 risposte

-1

Non sono del tutto sicuro di quello che chiedi, tuttavia io uso uno stile molto severo:

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

Lo stile è ispirato ai programmatori di assiemi.

Lo metto in cima alle pagine che ho bisogno di "Author", indipendentemente dal fatto che si tratti di una classe, un file di testo o una stored procedure SQL ecc.

Non so se questo aiuti.

    
risposta data 07.01.2011 - 15:27
fonte
68

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

    
risposta data 07.01.2011 - 15:36
fonte
11

Non realizziamo l'authoring nella mia azienda. Invece, lasciamo che sia il nostro controllo della versione a gestirlo.

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

Il problema che vedo con l'inserimento di un tag autore su una classe è che con il passare del tempo è probabile che più di uno sviluppatore lavorerà su quella classe. Aggiornamenti e simili. È un passo in più per aggiornare quel commento dell'autore, e piccoli passi extra tendono a essere dimenticati molto. Così diventa rapidamente obsoleto.

    
risposta data 07.01.2011 - 16:42
fonte
10

Non lo faccio affatto. Penso che al lavoro abbiamo alcuni template che vengono inseriti nei file con il nome della società e userid della persona che ha modificato il file, ma non presta mai attenzione a questo.

In generale, non penso che importi davvero come lo fai. Se vuoi timbrare gli autori dei tuoi file, scegli uno stile coerente e vai con esso.

    
risposta data 07.01.2011 - 15:25
fonte
6

JavaDoc è molto standard nella comunità Java:

link

@author name-text

Adds an "Author" entry with the specified name-text to the generated docs when the -author option is used. A doc comment may contain multiple @author tags. You can specify one name per @author tag or multiple names per tag. In the former case, Javadoc inserts a comma (,) and space between names. In the latter case, the entire text is simply copied to the generated document without being parsed. Therefore, use multiple names per line if you want a localized name separator other than comma.

    
risposta data 07.01.2011 - 15:31
fonte
5

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

    
risposta data 07.01.2011 - 18:10
fonte
4

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

    
risposta data 07.01.2011 - 20:08
fonte
1

Se stai lavorando su un progetto di grandi dimensioni con molti contributori, l'annotazione di ciascun file con la lista di autori non funziona. Cosa fai con la lista degli autori quando dividi un file in diversi file più piccoli? Mantieni il nome dell'autore originale se riscrivi completamente il codice? Aggiungi il tuo nome alla lista degli autori quando correggi un refuso nel commento?

Queste domande sono meglio lasciate per il sistema di controllo della versione.

Ma non sono completamente contro la lista degli autori. Mantenere un elenco di autori per l'intero progetto ha perfettamente senso. Se si tratta di un progetto a file singolo, sicuro, tienilo all'interno di quel file. Se è un progetto più grande, tienilo in README o nel tuo file sorgente di primo livello (conosciuto anche come main.c). Ma non ripetersi elencando gli autori in ogni singolo file.

    
risposta data 07.01.2011 - 16:32
fonte
1

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

    
risposta data 07.01.2011 - 20:00
fonte
0

Uso i commenti Doxygen (o talvolta KernelDoc) per praticamente tutto. Io lavoro principalmente in C e PHP, dove Doxygen è abbastanza popolare.

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

  • Permesso (o no) di copiarlo / Copyright di società o individuo
  • Nome dell'autore / e-mail
  • Data scritta
  • Data dell'ultima modifica

Questo dovrebbe aiutare chiunque capiti a lavorare sul file a sapere cosa hanno, cosa possono fare con esso e chi possono chiedere aiuto se ne hanno bisogno. Inoltre dice loro se stanno guardando qualcosa di 10 anni.

    
risposta data 07.01.2011 - 15:45
fonte
0

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

Ad esempio, utilizzando in Delphi 7 con gli utili CNTools installati, digito

///a [enter]

e viene fuori

//<author></author>

quindi digito

///d [enter]

e viene fuori

 //<date></date>

Immagino che ciò corrisponda a qualcosa che una utility di terze parti può riprendere, ma per quanto riguarda me - ho uno standard che non ho nemmeno dovuto inventare e corrompere da solo.

    
risposta data 07.01.2011 - 18:28
fonte

Leggi altre domande sui tag