tag new how create version-control comments maintenance

version-control - how - push new tag git



Código antiguo en comentarios (14)

Aquellos que dicen deshacerse del código de salida comentado porque las herramientas de control de versión resolverán cualquier problema que pueda encontrar, son idiotas.

Debe deshacerse del código obsoleto, UNA VEZ QUE ESTÁ POSITIVAMENTE SEGURO DE QUE ES REALMENTE OBSOLETO.

¿Alguna vez tuvo que revisar una modificación porque "no fue del todo malo, pero por desgracia tampoco fue del todo bueno"? Si aún puede eliminar la fuente de producción y SABER que la versión anterior del código todavía está allí, en alguna forma textual, le ahorrará mucho tiempo, porque no necesitará recurrir a recursos complejos, difíciles de encontrar. -Control y, por lo tanto, procesos de pronunciamiento de errores muy frecuentes en el uso de cualquier "fusión parcial de fuentes" y "consolidación parcial de fuentes" que su herramienta de control de versiones pueda ofrecerle.

Las personas a las que no les gusta esta realidad seguramente deben haber pasado toda su carrera produciendo solo un código que nunca fue "no del todo malo, pero tampoco del todo bueno", o en otras palabras, produciendo solo un código que era completamente malo o completamente perfecto . Y todos sabemos cuán grande es la probabilidad de lograr esto último.

¿Cuánto tiempo debe mantener el código antiguo comentado en su base de código? Los contratistas continúan manteniendo el código antiguo en el código base convirtiéndolo en comentarios. Esto es realmente frustrante y quiero que solo eliminen el código antiguo en lugar de comentarlo.

¿Hay una razón válida para mantener el código antiguo en la base del código como comentarios? Estoy usando el control de versiones de Visual Sourcesafe


Básicamente, solo tienes 2 opciones.

  1. Elimínelo, eso es cuando usa un repositorio de código. Su repositorio le dirá con precisión qué cambios se realizaron, por lo que no es necesario mantener comentarios antiguos en su código de trabajo, lo que no explica algo en un lenguaje sencillo.
  2. Por otro lado, si desea mantener ese código por varias razones, por ejemplo, mantuve algún código de cálculo de punto flotante en mi aplicación comentada, porque no funcionó en la plataforma, estaba programando para. Pero como no quisiera que mi aplicación se mantuviera limitada a esa plataforma, mantuve el código allí, por lo que ahorra esfuerzos al portar la aplicación a una plataforma que admite cálculos de punto flotante. Esta es solo una de las razones para mantener el código antiguo y puede ser aplicable a personas con el mismo origen.

De lo contrario, arriba mencionadas son sus únicas 2 opciones. ¡¡Tu llamada!!


Cuando recuerdes a los contratistas, no tienen que comentar el código, ya que Sourcesafe mantendrá el historial y les preguntará por qué lo están haciendo.

Puede ser que no confíen en él por alguna razón. Si puedes sacar esa razón de ellos, pueden prestar atención. Sé que cuando nos mudamos de VSS hace muchos años fue debido a problemas de confiabilidad y escalabilidad a los que también podrían haber estado expuestos. Si puede abordar sus inquietudes, ya sea demostrando que el VSS es adecuado para sus necesidades o diciendo que investigará otras soluciones de control de fuente (si tiene el presupuesto para ello, por supuesto), debería ganarlas.

La persuasión es mejor que la coerción.


Dile a los contratistas que dejen de hacer esto. Esta es una práctica terrible.

Realmente no hay ninguna razón para mantener el código antiguo en la base del código; simplemente se interpone en el camino. Su sistema de control de versiones le mostrará el historial de cada archivo.

La única razón posiblemente buena para mantener el código antiguo existe posiblemente como referencia histórica (quizás si el código antiguo hizo algo particularmente extraño que podría ser relevante para la situación actual).

De vez en cuando simplemente comentaré el código sabiendo que estoy introduciendo un cambio temporal (por temporario quiero decir menos de unos pocos días) y definitivamente planeo volver a él.

edición: otra práctica relacionada es poner nombres y fechas de cambios en el archivo:

// 06/20/2009 - joe changed this #1245

No hagas esto tampoco. Puede parecer valioso a la vez ver quién hizo un cambio, pero con el tiempo realmente no tiene ningún valor y también desordena el código.


El proyecto que estoy presentando actualmente utiliza otro enfoque, algún tipo de compromiso ... Cuando decides que parte del código ya no se va a usar, simplemente lo comentas, escribes una fecha para comentar. y (si es posible, por ejemplo en Netbeans o VisualStudio) inserte el código antiguo en #region OLD_IMPL. ¿Efecto? - Todavía tiene un código antiguo por si acaso - El bloque de código no utilizado toma exactamente 1 línea (#region OLD_IMPL) - Si ve, ese código no se usa durante un año (tiene fecha para comentarlo), simplemente puede bórralo.

En caso de situaciones críticas, siempre usa SVN;)


En primer lugar, digo deshacerse de él.

Pero conozco una razón para no hacerlo: mientras aún esté en tu control de versión, eso no significa que nadie pueda verlo. Si necesita volver a verlo, primero debe saber que existió una vez. A veces haces una modificación que los futuros desarrolladores necesitan ver tanto en la forma antigua como en la nueva y, si eliminas la forma anterior, ¿cómo saben los desarrolladores que una vez estuvieron allí? La mayoría de las personas no documentan los cambios en el control de versiones lo suficientemente bien para este tipo de problema.


Mantener el código antiguo alrededor hace que sea más difícil leer el código en su totalidad. Siempre que exista alguna forma de control de versión para el proyecto, el código comentado debe eliminarse. Si no tiene control de revisión y no puede configurar ninguno, es recomendable colocar el código antiguo en un archivo en algún lugar que no sea parte de la base de código.


Sí, no sé qué hacer. No da ningún otro valor para demostrar que el desarrollador que lo comentó tampoco estaba seguro de eliminarlo. O no saben cómo usar su software de control de código fuente.


Si está utilizando el control de código fuente que debería, elimine el código antiguo ya que una copia estará lista para el control de código y lo estará esperando si alguna vez necesita volver a agregarlo. Tener el código antiguo allí reducirá la capacidad de leer el código como se indicó anteriormente e introducirá confusión. Además, si está utilizando contratistas para escribir su código, dígales cómo codificar a medida que paga sus salarios. Defina estándares de codificación para ellos y haga que se codifiquen por intención, lo que debería mejorar el nombre de los métodos, las propiedades, etc. y reducir la necesidad de comentarios por completo.


Si usa algo como SVN o CVS, no. Los borraría a la vista. Hacen el código menos legible.

Los comentarios deben estar allí para ayudar al programador que está leyendo el código, a explicar cosas, etc.


Supongo que se refiere a bloques de código significativos que parecen ser de algún valor, o buenos algoritmos por derecho propio, no solo la línea impar aquí o allá.

En estos casos, existe una tendencia natural a mantener el código, si ha realizado grandes cambios manteniendo el antiguo como comentarios actúa como una forma de revisión de código. Cualquiera que obtenga la última versión podrá ver instantáneamente los grandes cambios que se hicieron, y si hay un problema, es mucho más fácil ver lo que solía estar allí. Si el problema está en el nuevo código, hay una manera muy simple de comprobarlo al instante.

Entonces, dado que, tiendo a comentar el código antiguo para la primera revisión, y luego solo lo borro cuando el código se vuelva a cambiar posteriormente, para este momento el cambio habrá sido "encajado" y no es probable que sea una causa de loco.

Estos comentarios son una forma de documentación, no hay necesidad de eliminarlos por ningún ideal purista de codificación "limpia". Retírelos cuando ya no sean necesarios, consérvelos mientras puedan ser valiosos.


Tantas razones para dejar el viejo código allí. Básicamente, una vez que se elimina, desaparece, a menos que alguien realmente recuerde que estuvo allí.

Como contratista malvado, no borro el código a menos que esté haciendo una reescritura sustancial de un procedimiento: desechándolo y reemplazándolo en lugar de "arreglarlo".


Una razón válida que se me ocurre es este ejemplo (ficticio):

# removed the following test because this should work now that bug #12345 is fixed. #assert a != 0 b = number / a

Básicamente, para evitar que otros desarrolladores vuelvan a insertar el código que se eliminó por una razón.


Usted pregunta "¿cuánto tiempo?" No estoy ofendido por tener el código antiguo en uno o dos lugares si esos son los puntos calientes donde las personas todavía están trabajando.

Tal vez todavía no se sientan seguros con el nuevo código. ¿Está el nuevo código "hecho?" ¿Está escrito como debería ser? ¿Pasa las pruebas? ¿Está comentado y documentado a especificación? ¿Es el rendimiento donde debería estar? (La mejor razón que se me ocurre para tener el código antiguo y el nuevo es cuando estoy cronometrando o perfilando un determinado conjunto de casos).

¿Hay algo sobre el código antiguo que sea preferible al nuevo código?

¿Se sienten los contratistas apurados? ¿O es solo un viejo hábito de los días de control previos a la versión?