Estoy refactorizando un conjunto existente de clases de prueba de Java para pruebas de IU automatizadas. A veces termino haciendo cambios masivos en el archivo de clase o actualizándolo por completo. Esto me hace pensar que cuando estoy reescribiendo toda la clase, ¿debería cambiar el nombre del autor en la sección de comentarios al mío?
¿Estoy siendo codicioso? ¿o será útil que alguien vea mi nombre y me pregunte en caso de dudas?
refactoring
Tarun
fuente
fuente
Respuestas:
Realmente depende ...
Si cree que hay una pequeña posibilidad de que alguien más pueda estar interesado en preguntarle al autor original, deje su nombre en el código. Si cree que alguien podría estar interesado en preguntarle en persona, deje su nombre en él. Y si crees que ambos podrían ser posibles, deja entrar ambos nombres (o un comentario como "basado en el trabajo de ...).
Por supuesto, cuando el uso del control de la fuente es obligatorio en su lugar de trabajo, y esa es la única forma de obtener acceso a las fuentes, guarde el problema y elimine todos los comentarios de los autores de la fuente. En mi lugar de trabajo, por ejemplo, tenemos muchos archivos fuente en el control de fuente donde no nos molestamos en escribir ningún nombre en las fuentes. Si quiero saber quién es responsable del archivo, o si fue en el pasado, o por un cambio específico, TortoiseSVN me generará fácilmente un registro para eso.
Por otro lado, tenemos muchas macros de VBA, escritas por algunos tipos, transmitidas a otros tipos (algunas de ellas dejaron la compañía a lo largo de los años) y se modificaron mucho, todo sin usar el control de fuente. Afortunadamente, los comentarios de esos archivos a menudo contienen nombres de autores y algún tipo de registro histórico.
fuente
Acabo de encontrar otra publicación en la que OP preguntaba si el nombre del autor debería estar en el encabezado del archivo y parece que al menos 2/3 de las personas que respondieron dijeron que el nombre ni siquiera debería aparecer y que debería usar el control de versiones para simplemente haga un seguimiento de quién cambió el archivo. No sé qué pasó con esa publicación, pero ahora no puedo encontrarla. <- (por lo tanto, anónimo "OP")
Personalmente, considero que el autor enumerado en el encabezado del archivo es útil, pero por una razón ligeramente diferente (y esto puede no estar relacionado con otros en sus entornos). Aunque intentamos practicar la propiedad comunitaria y, a menudo, trabajamos en varias partes del proyecto, tendemos a tener pocos miembros del equipo que conozcan ciertas áreas del código mucho más íntimamente que otras. Entonces, cuando alguien (especialmente numerosos contratistas que van y vienen) abren un archivo que nunca han visto antes, el autor se convierte en la persona a la que recurrir. Puede que no sea el único contribuyente, o incluso el contribuyente mayoritario, pero teniendo su nombre en la parte superior, reconoce tener cierta responsabilidad en la distribución de conocimiento / información sobre el código al resto del equipo. Podemos enumerar más de una persona en el encabezado si varias personas han contribuido y se sienten responsables.
Me resulta frustrante cuando tengo una pregunta sobre un archivo y tengo que recurrir al control de versiones para identificar a la persona principal o más conocedora. Luego terminan yendo de un tipo a otro, ya que todos niegan realmente saber lo que hace el código ... solo tenían que entrar y corregir un error o dos.
Esta práctica funciona en nuestro equipo porque no tenemos traspasos. A menos que una persona renuncie o se mude a un equipo diferente, ese código / proyecto permanecerá con la persona y con nuestro equipo. Obviamente, si las personas que mantienen el código no son las mismas que las que lo escriben, a nadie le importaría quién figura en el encabezado.
Entonces, a la luz de mi punto de vista sobre los encabezados de los archivos, diría que si cambiaste el 80% del archivo y sientes que ahora eres el indicado para cualquier pregunta (y probablemente deberías sentirte así), sí, ve. adelante y actualice el encabezado del archivo para tener su nombre en él. Si te sientes mal por eliminar a una persona anterior, también puedes dejar su nombre allí, al menos por el momento. Siempre puede preguntarle al autor original y estoy seguro de que no les importará en absoluto que haya cambiado el nombre, ya que supongo que no hay ningún resentimiento acerca de que cambie el 80% del archivo en sí.
ACTUALIZACIÓN: Encontramos esa publicación . No tengo idea de cómo logré sacar algo de agosto. Acabo de terminar de leer El programador pragmático y en el último capítulo los autores hablan sobre el trabajo de firma y la responsabilidad (la otra publicación lo mencionó, por eso lo busqué). El libro tiene mucho sentido y ahora que lo pienso, tal vez deberíamos introducir la política del equipo de que quien esté en la lista como autor, debe incluirse en todas las revisiones de código del archivo en cuestión. No importa quién haya cambiado el archivo por última vez o más en SVN, el autor es el propietario y el guardián.
fuente
No encuentro el nombre del autor terriblemente útil. Como muestra esta pregunta, a menudo no hay un autor único, por lo que no es posible nombrar "el autor".
Por supuesto, podría incluir una lista de todas las personas que hicieron contribuciones importantes, pero ya puede obtenerla del registro de control de revisión, entonces, ¿cuál es el punto?
En mi proyecto, no hay información de autor en la mayoría de los archivos. Si tiene una pregunta, solo mira los registros, y generalmente es obvio que una o dos personas hicieron la mayor parte del trabajo, por lo que les pregunta.
Editar
La respuesta supone un proyecto que usa control de versiones. Si no usa (consistentemente) VC, entonces poner un autor (lista), y tal vez algún historial de cambios en un archivo podría ser una solución viable. Aún así, probablemente debería comenzar a usar VC lo más rápido posible, en cuyo caso, consulte más arriba :-).
fuente
so what's the point?
Proyectos que no están bajo una vcs, proyectos que en algún momento migraron a una vcs diferente (desafortunadamente, no todos los esquemas de migración permiten la migración del historial) y proyectos que usan más de una vcs al mismo tiempo, algunos proyectos de FLOSS adoptan eso aproximan para que sea más fácil para las personas que contribuyen, sin limitar a uno VCS (sVN personas encuentran, las personas git git duros encontrar sVN inservible, y hg gente se ríe de ambos)Si el archivo se ha modificado significativamente, debería ser aceptable agregar su nombre en el archivo como alguien que sepa algo al respecto.
fuente
El creador del archivo fuente siempre debe / debe (IMHO) mencionarse en el archivo fuente. Esto, con un buen comentario en el encabezado, debería mostrar por qué el autor desarrolló la fuente y qué pensaba para escribir el código. En cuanto al mantenedor del código, agregar el nombre del mantenedor es crucial para el seguimiento del control de código fuente.
El nombre del autor, en mi humilde opinión, debe incluir la versión de origen del código, fuera del sistema de control de versiones, la primera fecha de cuándo ocurrió el cambio, así como el número de solicitud de cambio. La razón es que, si surge la decisión de cambiar el VCS, hay un historial de la versión del código, quién fue el autor y el número de solicitud de cambio que los desarrolladores pueden consultar (si necesitan saber por qué el responsable hizo lo que él / ella hizo). ella hizo). Por lo tanto, en nuestra organización, nuestro formato es el siguiente:
fuente
Me gusta ver el nombre del autor original, aunque solo sea para encontrar a alguien que comience mi búsqueda de respuestas sobre el código. (El autor comúnmente no recuerda, ¡pero es al menos una oportunidad!)
Recomendaría que simplemente agregue su nombre debajo del autor original.
No es necesario reemplazar el nombre de la otra persona, ya que ellos pueden conocer algún aspecto de la necesidad comercial original que usted no conoce , y otros que lo siguen después de que también necesite hablar con esa persona.
fuente
Mi política sobre los comentarios de @author es:
Si tiene preguntas sobre algo, no importa quién sea el @autor del archivo; importa quién es el @autor de qué parte del archivo está editando. Para eso
[git/svn/whatever] blame
es eso .OMI, @author necesita irse.
fuente