2009-08-20 20 views
29

Durante los últimos 5 años más o menos, he estado trabajando con proyectos y sistemas muy diferentes. El código para esos proyectos difería significativamente en términos de calidad, estilo y tamaño. Vi ejemplos de ambas: funciones limpias y desagradables de 1000 líneas y si las condiciones codifican.¿Cómo mejorar su lectura y comprensión del código?

Todavía no me siento muy competentes en la lectura de código de otras personas, la comprensión de elementos internos sistemas, etc.

me gustaría averiguar qué técnicas utiliza para mejorar su habilidad en la lectura y la comprensión de código de otras personas , cómo ponerse al día rápidamente, qué herramientas, métodos, etc. comúnmente se emplean.

Permítanme dar esta respuesta que muchos simplemente arma para ello: puede mejorar las habilidades de lectura de códigos mediante la lectura de código de

Hay un puesto relevante para mejorar las habilidades de programación que puede ser útil y continúa par con esta publicación: What is the single most effective thing you did to improve your programming skills?

Respuesta

29

Lo que me ha ayudado, más que cualquier otra cosa, ha sido refactorizar.

Realice un proyecto (esto puede ser un proyecto de trabajo, un proyecto personal, un proyecto de código abierto, lo que sea) y comience a refactorizar.

Con el tiempo, cuanto más refactorice el código de otras personas, mejor se "mete en la cabeza" y comprenderá su forma de pensar, ya sea buena o mala.

3

"que puede mejorar las habilidades de lectura de códigos de lectura de códigos"

correcta.

¿Qué código leer?

Cualquier proyecto de código abierto que te atraiga. La mayoría de la codificación de código abierto es notablemente buena.

Sin embargo, no lea el código al azar. Lee cosas que realmente te interesan. Cuanto más comprenda el dominio del problema, mejor podrá apreciar la solución que está leyendo.

22

Creo personalmente en el

"Cualquier tonto puede escribir código que un ordenador puede entender. Los buenos programadores escriben código que los humanos pueden entender." -Martin Fowler

así que mi enfoque sería encontrar a esa persona y volarle la cabeza para que no propague este virus.

5

Además de la experiencia simple que conduce a la lectura del código mejor, sugiero adjuntar un depurador a la aplicación, agregar algunos puntos de interrupción y analizar los datos a medida que pasan por el sistema. De esa forma, usted SABE lo que está sucediendo, en lugar de suponer (por lógica o por otros medios) lo que está sucediendo.

9

Lo que me ha ayudado, más que cualquier otra cosa, ha sido probar y refactorización. No puede decir: "Entiendo este código" hasta que sepa cómo romperlo con una prueba.

0

Estoy de acuerdo con la lectura de código fuente abierto. Hay un libro por O'reilly on Beautiful Code - pero es una mierda en mi opinión.Sugeriría libros que haya leído para preparar la programación de entrevistas, y que a menudo se sugieren (todos los enlaces que he puesto son enlaces de Google Books:

[Perlas de programación] es una buena (obtenga la edición más reciente) , aunque los conceptos son los mismos), [la práctica de la programación] es otro clásico.

Estos son libros muy prácticos con ejemplos del mundo real de código

Además, el código de prueba práctica de la escritura de proyectos ya existentes. Esta tiende a ayudarlo haciendo que se vea forzado a comprender exactamente lo que hace la función. Si los resultados no son los que esperaba, se ve obligado a pensar acerca de por qué el código de la persona no funciona como esperaba para esas pruebas. Explorar StackOverflow y ver lo que dicen las personas con gran reputación siempre ayuda también.

7

No solo lea el código de código abierto, únase a uno. De esta forma, usted podrá preguntar "¿por qué fue escrito de esta manera?" Vs. simplemente leerlo. La mayoría de las veces, había una razón subyacente para hacer algo anormal, sea auténtico o no.

Además, si participa activamente, podrá ver la progresión de la base de código. Te familiarizarás con el estilo de desarrollo de diferentes personas. Esto puede proporcionar diferentes vías para que su cerebro camine cuando se encuentre con un proyecto no afiliado que necesita leer.

4

Aprende a nadar nadando, aprende a leer leyendo. Primero intente leer pequeños fragmentos de código escritos por otros en su área favorita.

Empecé a hacerlo por leyendo códigos Python encode.activestate.com en mis temas favoritos (matemáticas, algoritmos, etc.).

Ventajas:

  • códigos Python son más limpios para que no se sienten frustrados en el primer intento.
  • A partir de pequeñas cosas manejables ayuda (mucho).
  • Usar herramientas como FREEMIND para organizar sus pensamientos también ayuda.
  • Luego puede pasar a códigos más complejos y sucios.
5

2 cosas en particular

Refactor Cuando vea código que murkys las aguas de su IDE, refactorearlo así que tiene sentido por lo que es fácil de listo

comentario Utilice la refactorización para dividir en compartimientos el "cómo", pero use su comentario para mostrar por qué.

Al igual que Steve McConnell dice en Code Complete 2, siga el proceso de programación de Psuedocode (en este caso, después de escribir el código). Te ayudará a ti y a los futuros desarrolladores a leer el código.

Cuestiones relacionadas