Al leer el código de otros, ¿generalmente tiene problemas para entenderlo, o es más común que cuestione el código de otros sobre si es incorrecto / no eficiente / mal formateado (etc.)?
readability
snoopy
fuente
fuente
Respuestas:
En estos días no tengo muchos problemas para leer el código de otras personas. He visto tantos códigos malos, que incluso puedo diagnosticar qué tipo de evolución condujo a cualquiera que encuentre.
La mayoría de las veces, el código profesionalmente malo es un código que comenzó bien, pero las mejores prácticas, requisitos o habilidades se eliminaron de debajo. A veces es solo alguien que es malo o nuevo en el idioma, pero eso también es bastante evidente (y poco común en un entorno profesional). Cuanto más entiendo por qué el código se pudre, menos cuestiono la competencia de otros programadores.
fuente
Este puede ser el resultado de este proceso de desarrollo .
En los últimos 2 años he trabajado con el código de otras personas. Lo he depurado, corregido errores y realizado mejoras. En mi experiencia, generalmente pienso que el código es malo, está lleno de errores, es lento, consume mucha más memoria de la necesaria, utiliza conceptos de programación inapropiados, está mal formateado (es difícil vivir con ellos), no está comentado y el flujo lógico es un lío. ¿Qué sucede si le digo que encontré una función con 5k líneas de código?
Entonces, en mi experiencia, generalmente cuestiono la calidad del código. Si algo es difícil de entender, porque es complejo, tiene sentido después de que lo entiendes. Pero si es malo, siempre será malo.
fuente
Respuesta corta: En general, no nos gusta o somos muy críticos sobre por qué la codificación se realiza de esta manera, y no al revés. Sin embargo, cuanto más lees el código incorrecto de otros, más rápido aprecias el código bien escrito :)
Aunque pueda parecer obvio, la mejor manera de mejorar la lectura del código de las personas es: leyendo el código de las personas . El problema es que cuando las personas suelen leer el código de otras personas, no intentan " asimilarlo " , es decir, se familiarizan íntimamente con él; hacen el equivalente de la poesía de lectura rápida.
Para asimilar el código de otra persona, puede intentar lo siguiente:
Todos estos pasos te obligarán a leer el código con mayor profundidad.
También hay algunos consejos sobre cómo maximizar la comprensión de una base de código, que le han presentado para mantenimiento y soporte:
Una vez que tenga una idea básica de lo que está sucediendo, es posible que desee echar un buen vistazo al almacenamiento de datos (la capa de persistencia). Esa es otra excelente manera de comprender lo que está sucediendo, pero asegúrese de que las cosas que está estudiando estén realmente en uso. Puedo recordar algunas veces llegar al fondo de algunas clases con este enfoque, pensando que he entendido el sistema, y luego darme cuenta más tarde de que las clases no se utilizaron en absoluto.
Puede parecer una tarea desalentadora: lleva tiempo y ninguna herramienta sofisticada puede eliminar la necesidad de inteligencia, pero también puede ser muy gratificante. A medida que avanza, probablemente encontrará muchos errores en los casos de esquina / borde y verá formas de mejorar el código. Un consejo: no te esfuerces demasiado en refactorizar / cambiar hasta que comprendas bien el código. A menudo, lo que parece un error o simplemente un código incorrecto cuando lo ve por primera vez, resulta ser un genio sutil en el trabajo en una investigación posterior e ilustrada. Además, eliminar el código no utilizado es muy satisfactorio y excelente para los futuros mantenedores. Por supuesto, con el supuesto de que toda la base de código está controlada por la versión.
fuente