No sé sobre otros entornos, pero cuando se trata de proyectos PHP grandes (a menudo de código abierto), otras personas han escrito que phpXRef es un salvavidas absoluto (especialmente si el documento está en línea y Google puede indexarlo).
Incluso un proyecto mal comentado puede al menos ayudarme a rastrear dónde se han definido las cosas y dónde se usan (por ejemplo, al refactorizar).
Cuando están bien comentadas, las páginas resultantes forman una Biblia perfecta para el código base (para mi uso de todos modos).
Además, mi IDE preferido generará automáticamente el bloque de comentarios (si escribo / **) que hace aproximadamente el 75% del trabajo de comentarios para mí. Es sorprendente la cantidad de cosas estúpidas que me impidieron cometer durante mi vida como programador solo porque tuve que explicarle a otras personas (y a mí en el futuro) lo que estoy haciendo. Cuando mi comentario para el generador de documentos es más grande que el método, por lo general significa que no he tomado suficiente café y podría querer pensar un poco más.
Esos mismos bloques de comentarios también crean el texto de "ayuda" de finalización en línea para que pueda ver exactamente lo que esperaban los otros codificadores mientras escribo la llamada de función. Esto es un aumento masivo de la productividad para mí (especialmente en los casos poco frecuentes en los que algún otro desarrollador útil ha escrito "por bondad hacer / no hacer X" que puede ahorrar mucho dolor.
No puedo enfatizar lo suficiente lo útil que es tener los tipos de entrada esperados especificados en proyectos PHP complejos (ya menudo mal nombrados) y el orden de los argumentos en métodos usados con menos frecuencia. Incluso con mi propio código no siempre puedo recordar los argumentos que especifiqué para algo que no he tocado en una era.
En un caso, lo que significaba que la razón de los problemas recurrentes era que, por algún motivo, se refleja mal en desarrolladores anteriores. Algunas funciones e incluso constantes se definieron en una gran cantidad de lugares (con un grado de inconsistencia para agregar "diversión" ). Esa fue la señal para alejarse del proyecto.
Por lo tanto, las razones incluyen guardar a los desarrolladores posteriores una pila de tiempo, hacer un seguimiento de dónde se llaman (y definir) las funciones, detectar codificación tonta, encontrar (como ha señalado otro) cuando obviamente falta algo, simplificar la refactorización (nunca es divertido) ) y en muchos casos se hace una idea de lo que el desarrollador estaba tratando de hacer (asumiendo que dejó algunas notas).
Si el proyecto es lo suficientemente complejo como para tener varias licencias en marcha (no es divertido) puedo ver rápidamente qué licencias se aplican a cualquier sección. Es cierto que este es un bono adicional.
En los proyectos más grandes que comenzaron antes de unirme, puedo ver qué desarrollador (asumiendo que etiquetaron el archivo de la clase con un nombre y un correo electrónico) creó la clase y simplemente poder encontrar y hablar con el desarrollador correcto es sumamente útil. / p>
Listas de tareas automáticas: usar la etiqueta @todo (común en el tipo de proyectos en los que me encuentro trabajando) significa que la documentación puede realizar un seguimiento de las cosas que necesitan más trabajo (o funciones que se reconocen como faltantes). Una vez más, mi IDE realiza un seguimiento de esto y solo actúa como una buena guía en cuanto a lo que necesita mi atención primero.
Tampoco subestimes el valor de mantener felices a los jefes de cabello puntiagudo con solo tocar un botón.
Por último (y muy importante para mí) elimina la sobrecarga no trivial de escribir todo eso y luego tratar de mantenerlo actualizado cuando algunos (leen muchos) codificadores comprometen cambios y no hablan con los encargados de la documentación. .
En resumen, los "comentarios de documentación automática" son vitales para mis hábitos de codificación. Estoy seguro de que hay muchos que piensan que eso es malo, pero también estoy seguro de que hay algunas personas que saben exactamente lo que estoy diciendo. No sé cómo sobreviví antes de descubrir phpXRef (y mi IDE favorito).