¿Cómo realiza un seguimiento de los autores del código? [cerrado]

14

Esto es algo que nunca me enseñaron. He visto muchos tipos diferentes de estilos de autoría. Codifico principalmente en Java y Python. Me preguntaba si había un estilo de autor estándar o si todo es estilo libre. Además, si responde, ¿le importaría adjuntar el estilo que usa a los archivos de autor que crea en su hogar o en el trabajo?

Por lo general solo voy

@author garbagecollector
@company garbage inc.
programador de polvo
fuente
3
¿Dónde pone su nombre la persona que cambia su código?
JeffO
@Jeff dónde y cómo se ve.
dustyprogrammer
No tiene sentido hacer eso. ¿Por qué querrías hacer eso?
CodeART

Respuestas:

-1

No estoy completamente seguro de lo que está preguntando, sin embargo, uso un estilo muy estricto:

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

El estilo está inspirado en los programadores de ensamblaje.

Puse esto en la parte superior de las páginas que necesito para "Autorizar", independientemente de si se trata de una clase, un archivo de texto o un procedimiento almacenado de SQL, etc.

Noche oscura
fuente
Esto está en la línea de lo que estoy buscando.
dustyprogrammer
55
-1 Esto (que crece mucho si se actualiza (tanto él como el código cambia por varias personas) se reemplaza efectivamente por el control de versiones.
Michael Durrant
1
@MichaelDurrant olvidó cerrar su paréntesis;) de todos modos genial. Me gustan los pinguinos
Darknight
44
@Giorgio No realmente ... puede que no quede una sola línea de código del autor original en el archivo. Carece de sentido.
Wilbert
1
@Wilbert: Por supuesto, también depende de la política del equipo: con la propiedad del código compartido, puede ser inútil hacer un seguimiento del autor de un archivo. Con la propiedad del código individual es importante saber quién es responsable de qué archivos.
Giorgio el
71

¿Por que lo harias? ese es el trabajo del sistema de versiones y "Culpa" :)

Homde
fuente
8
control de versiones ftw.
Paul Nathan
1
Tiene aún más sentido hacerlo de esa manera si lo considera una gestión de código fuente (SCM) en lugar de un sistema de control de versiones (VCS).
Peter Eisentraut
pequeña limitación, cambios cosméticos (sangría, etc.) cambian el autor de la línea ...
Matthieu M.
44
@Matthieu: Un buen SCM puede mostrar quién hizo los cambios con el tiempo, no solo el último en tocarlo. También podría argumentar que los cambios cosméticos también son cambios.
Grossvogel
1
¿Esta respuesta tiene más de 8 años y nadie notó sus restricciones? ¡Se aplica solo si el código fuente permanece en un VCS durante toda su vida útil (o si se migra correctamente)! Sin embargo, de vez en cuando se transfieren muchos códigos fuente abiertos entre diferentes entornos, por lo que la información del autor podría no pasarse por alto si no se escribe directamente en el código fuente.
Doc Brown
11

No hacemos autoría en mi empresa. En cambio, dejamos que nuestro control de versiones lo maneje.

Cada vez que se registra, adjunta su nombre de usuario a la lista de cambios. Si algo se rompe, alguien puede regresar y mirar el historial de cambios para ver qué ha cambiado, cuándo y quién lo hizo. También es bueno mirar el gráfico de revisión para ver cómo ha evolucionado un archivo con el tiempo, quién lo tocó, qué proyectos se han ramificado a partir de él.

El problema que veo al poner una etiqueta de autor en una clase es que con el tiempo es muy probable que más de un desarrollador trabaje en esa clase. Actualizaciones, y similares. Es un paso adicional para actualizar ese comentario del autor, y los pasos pequeños adicionales tienden a olvidarse mucho. Por lo tanto, se desactualiza rápidamente.

Tyanna
fuente
10

Yo no hago eso en absoluto. Creo que en el trabajo tenemos una plantilla que se inserta en los archivos con el nombre de la empresa y el ID de usuario de la persona que modificó el archivo por última vez, pero nunca le presto atención.

En general, no creo que realmente importe cómo lo haces. Si desea crear un sello de autor en sus archivos, simplemente elija un estilo consistente y vaya con él.

Adam Lear
fuente
6

JavaDoc es muy estándar en la comunidad Java:

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

@author nombre-texto

Agrega una entrada "Autor" con el nombre-texto especificado a los documentos generados cuando se usa la opción -author. Un comentario de documento puede contener varias @authoretiquetas. Puede especificar un nombre por @authoretiqueta o varios nombres por etiqueta. En el primer caso, Javadoc inserta una coma (,) y un espacio entre los nombres. En el último caso, todo el texto simplemente se copia al documento generado sin ser analizado. Por lo tanto, use varios nombres por línea si desea un separador de nombre localizado diferente de la coma.

Luca Matteis
fuente
5

Creo que es mejor dejarlo al sistema de control de versiones.

Tundey
fuente
4

Me gusta la función de culpa en GIT. Puede ver quién creó cada pieza / línea de código. No solo un archivo.

chiurox
fuente
Otros VCS tienen lo mismo (aunque a menudo no se les llama "culpa").
Richard
Me gustaría -1 esto porque es específico de GIT. OP nunca mencionó GIT. Pero, por desgracia, no tengo suficiente representante para votar en contra.
Thomas Eding
2

Si está trabajando en un proyecto grande con muchos colaboradores, anotar cada archivo con una lista de autores simplemente no funciona. ¿Qué hace con la lista de autores cuando divide un archivo en varios archivos más pequeños? ¿Mantiene el nombre del autor original si reescribe completamente el código? ¿Agrega su nombre a la lista de autores cuando corrige un error tipográfico en el comentario?

Es mejor dejar estas preguntas para el sistema de control de versiones.

Pero no estoy completamente en contra de la lista de autores. Mantener una lista de autores para todo el proyecto tiene mucho sentido. Si se trata de un proyecto de un solo archivo, seguro, manténgalo dentro de ese mismo archivo. Si es un proyecto más grande, manténgalo en README o en su archivo fuente de nivel superior (también conocido como main.c). Pero no se repita enumerando autores en cada archivo.

Rene Saarsoo
fuente
1

Realizamos un seguimiento utilizando el sistema de control de versiones o colocando @authorel código. Otra forma de hacerlo es decir, en general, que ciertas personas fueron autores de módulos completos o de todo el programa. Eso alienta a las personas a pensar en sí mismas como parte de un equipo en lugar de como un engranaje en la máquina responsable de exactamente X número de funciones o líneas de código.

Rudolf Olah
fuente
0

Yo uso Doxygen estilo (o, a veces KernelDoc) comentarios para prácticamente todo. Principalmente trabajo en C y PHP, donde Doxygen es bastante popular.

En la mayoría de los casos, es útil incluir al menos la siguiente información:

  • Permiso (o no) para copiarlo / Copyright de la empresa o individuo
  • Nombre del autor / correo electrónico
  • Fecha escrita
  • Fecha de última modificación

Eso debería ayudar a cualquiera que esté trabajando en el archivo a saber qué tienen, qué pueden hacer con él y a quién pueden pedir ayuda si la necesitan. También les dice si están mirando algo de 10 años.

Tim Post
fuente
0

Yo personalmente no hago esto porque es documentación adicional que, como otros dijeron, está en el control de versiones. Pero si fuera a hacer algún tipo de fragmento de código de kung-fu, probablemente sería apto para cualquier cosa que mi IDE fuera capaz de generar automáticamente.

Por ejemplo, al usar en Delphi 7 con esos útiles CNTools instalados, escribo

///a [enter]

y sale

//<author></author>

entonces escribo

///d [enter]

y sale

 //<date></date>

Me imagino que corresponde a algo que una utilidad de terceros puede detectar, pero en cuanto a mí, tengo un estándar que ni siquiera tuve que inventar y corromper.

Peter Turner
fuente