¿Cómo manejan los ingenieros de software los comentarios obsoletos en el código?

Con una maldición silenciosa, y si tengo tiempo, con una inspección para averiguar cuánto de los comentarios en ese bloque / archivo de código son incorrectos. Esto es seguido por la consideración de si vale la pena limpiar los comentarios y ensuciar la diferencia.

En las empresas en las que he trabajado, no creo haber visto una base de código activa de más de unos pocos años que NO tuviera comentarios obsoletos. Esta es una de las razones por las que un subconjunto significativo de desarrolladores insiste en que el código ES los comentarios, y ese código no debe comentarse explícitamente. Personalmente, prefiero los comentarios.

El análisis programático puede detectar algunas discrepancias entre los comentarios y el código, pero no la mayoría de ellos. E incluso cuando se detecta, a menos que bloquee el registro, muchos desarrolladores no querrán preocuparse por actualizar los comentarios.

Por otro lado, prefiero tener el código correcto y los comentarios incorrectos que lo contrario.

Revisiones de código! Cuando cambia el código, lo pone a revisión. Los revisores vendrán, uno de los cuales podría no saber exactamente lo que hace, leerá los comentarios y luego el código. Darse cuenta de la coincidencia y hacer un comentario en la revisión.

No es infalible, pero generalmente capta la mayoría de los problemas. (Siempre que tenga revisores diligentes).

O cuando está aprendiendo lo que hace algo, al leerlo, se da cuenta de que el comentario es obsoleto y agrega los cambios para corregirlo en su próxima confirmación.

Me encuentro con comentarios desactualizados en tres escenarios:

  1. Cuando trabajo en algo yo mismo
  2. Al leer diferencias en una solicitud de revisión de código
  3. Por casualidad, cuando estoy leyendo el código para entender algo que mi código llama

Creo que es importante mantener los comentarios precisos. Especialmente si usa un sistema como Sphinx (que hace mi equipo) o JavaDoc para generar documentación separada. Pero, en cualquier caso, los malos comentarios son un problema de “ventanas rotas” que eventualmente enseñarán a las personas a ignorar los comentarios y a omitirlos incluso cuando sean importantes.

El número 3 no suele valer la pena actuar en consecuencia.

Pero para el n. ° 1, donde el comentario está en el código que estoy tocando de todos modos, lo actualizo o elimino según corresponda.

Para el n. ° 2 marco las líneas ofensivas en mi reseña. También trato de ofrecer una redacción sugerida, ya que eso hace más probable que se realice el cambio.

Si, esto pasa. Si cambia el código para que el comentario ya no se aplique, vuelva a escribir el comentario. En general, no hacer demasiados comentarios, solo cuando un fragmento de código se beneficiaría de un comentario, es generalmente el camino a seguir por la misma razón que usted dice.

More Interesting

Hay tantas API disponibles sobre el reconocimiento facial. ¿Cuál es la mejor opción para usar si quiero desarrollar un software?

¿Por qué te gusta trabajar en el campo de la informática?

¿Cómo aplica su empresa TDD al desarrollo de Android?

¿Deben los punteros ser considerados dañinos?

¿Cuál es todo el proceso de hacer cualquier tipo de software?

¿Cómo es Chandigarh College of Architecture?

Desarrollé un motor de base de datos en el trabajo y entiendo bien los conceptos básicos, como los árboles B y la integridad transaccional. ¿Cuál sería un buen libro sobre los temas avanzados, como los tipos de índice poco comunes y las técnicas para indexar el lenguaje natural?

¿Cuál es la especificación más importante de la computadora portátil?

En una compañía de software financiero, ¿qué tan inteligente sería despedir a todo su equipo de control de calidad y comenzar a confiar en pruebas totalmente automatizadas escritas por los desarrolladores?

¿Es posible desarrollar una aplicación personalizada para el Kindle de Amazon (básico 6 ', dispositivo WiFi E Ink, no el Kindle Fire o Fire HD)?

¿Qué idioma tiene el código más mantenible / reutilizable?

¿Cómo estructura su equipo su proceso de desarrollo de software?

¿Cómo ha influido el movimiento de código abierto en la industria de TI?

¿Cómo se compararían las industrias de semiconductores y de desarrollo de software entre 10 y 15 años después en términos de pago, tamaño de la industria y consolidación (seguridad laboral)?

¿Un desarrollador de pila completa es lo mismo que un generalista?