¿Cómo puedo mejorar mis habilidades de lectura de código [cerrado]

13

Bueno, la pregunta está en el título: ¿Cómo puedo mejorar mis habilidades de lectura de códigos?

El entorno de software / hardware en el que actualmente realizo el desarrollo es bastante lento con respecto a los tiempos de compilación y el tiempo que tarda todo el sistema en probar. El sistema es bastante antiguo / complejo y, por lo tanto, dividirlo en varios subproyectos más pequeños y más manejables no es factible en un futuro inigualable.

Me he dado cuenta de que lo que realmente dificulta el progreso del desarrollo son mis habilidades de lectura de códigos. ¿Cómo puedo mejorar mis habilidades de lectura de código, para poder detectar la mayoría de los errores y problemas en el código incluso antes de pulsar la tecla "compilar", incluso antes de iniciar el depurador?

    
pregunta 26.02.2011 - 16:09

9 respuestas

1

Leer más código

Por mi parte, obtuve mis habilidades de lectura de códigos un tanto decentes al leer las preguntas de certificación, esas fueron muy difíciles de seguir, porque estaban mal escritas a propósito

Se supone que deben probar su conocimiento del idioma (Java en mi caso) después de todo.

Cuanto más código lea, más experiencia acumulará, así de simple

    
respondido por el Mahmoud Hossam 05.03.2011 - 12:26
4

Mejore su entorno de desarrollo tanto como sea posible para que pueda proporcionarle comentarios que puede utilizar.

El IDE moderno puede ayudar MUCHO si puede proporcionarles la información necesaria. Algunos ejemplos son:

  • Color de sintaxis: constantes en un color, comentarios en otro, identificadores en un tercero, cadenas en un cuarto, etc. Recientemente encontré un fragmento de código que era ... impar ... Resultó que una variable fue nombrada como lo sería una constante: el color incorrecto la regaló.
  • Atrapa errores de compilación simples. La mayoría de los idiomas tienen una sintaxis sencilla que se puede enseñar a un editor, por lo que le puede indicar que tendrá errores.
  • Atrapa errores complejos de compilación. Muchos compiladores pueden generar archivos informativos que pueden cargarse en su IDE para que sepa cuántos argumentos toma una función dada, etc.

También existen programas que pueden identificar errores lógicos en sus programas, que puede utilizar para obtener aún más información sobre su programa de la que puede aprender.

Además, su IDE puede ayudarlo a navegar su fuente cuando conoce todas estas cosas. Esto le permite buscar fácilmente las cosas en lugar de tener que memorizar everything

Le sugiero que edite su pregunta para proporcionar más información sobre el entorno con el que trabaja y los programas que escribe, para obtener mejores sugerencias.

    
respondido por el user1249 26.02.2011 - 16:52
1

Además de lo que todos los demás dijeron, necesitas paciencia si vas a leer el código (especialmente si no es el tuyo). Sí, la lectura por línea de código requiere práctica, pero vale la pena, y también aprendes los estilos / trucos de codificación de otros. Esto es lo que busco en orden:

  1. nombres de variables, llaves correspondientes, importaciones, etc.
  2. compruebe que las condiciones se hayan colocado correctamente y que se detecten errores
  3. todo lo demás: uso de funciones, etc.

Estoy acostumbrado a codificar en un editor de texto plano, por lo que Ctrl + F es mi amigo, pero un IDE es muy útil, especialmente cuando estás leyendo desde varios archivos.

Ahora, si eres el que va a escribir el código, no tengas miedo de poner espacios en blanco, hendiduras y comentarios. Honestamente, si no parece agradable a los ojos, se convierte en un dolor en la cabeza.

    
respondido por el gladysbixly 05.03.2011 - 12:21
0

Incluso si pudiera detectar todos los errores antes de pulsar compilar, lo comprobaría probando y compilando. Solo confiaría en una prueba positiva y un programa en ejecución.

Creo que las buenas habilidades de lectura de códigos pueden llevarte muy lejos al plantearte hipótesis sobre el código. "Probablemente esto saldría mal", y prueba eso. Y al encontrar errores, "esta podría ser la causa, podemos probarlo"

La mejor manera de llegar es escribiendo el código usted mismo. La segunda mejor manera es que el código simplemente es realmente bueno y se explica a sí mismo (si es realmente difícil, el código simplemente no es tan bueno)

Si no es su propio código y no está bien escrito, la única manera de mejorar es haciendo, haciendo, haciendo. Lea el código, pruebe diferentes cosas, escriba pruebas contra él, conozca el código base, refactor. Las herramientas pueden ayudar, las que pueden encontrar dónde se usan los métodos, dónde se implementan las interfaces, dónde se declaran las variables, etc. Y las herramientas que le brindan una descripción general de los espacios de nombres, sus relaciones y métricas sobre ellos.

    
respondido por el KeesDijk 26.02.2011 - 16:23
0

Tuve un problema similar en el pasado: mi truco consistía en escribir una pequeña prueba, dejar el escritorio por un poco de tiempo, regresar y simular la prueba en papel. De esta manera, puede revisar su código con un aspecto nuevo y tiene un valor específico que verificar (a diferencia de revisar su código y decir "ahh ... ahh ... tiene sentido")

    
respondido por el yossale 26.02.2011 - 16:23
0

Posiblemente sería bueno enfocarse en aprender una habilidad de lectura de códigos a la vez, al igual que en las revisiones de códigos formales, cada revisor tiene una responsabilidad diferente. Tome un cuerpo de código y pase una semana (por ejemplo) buscando solo nombres de variables incorrectos. Vuelva a pulsar el mismo código la próxima semana en busca de posibles punteros nulos; la próxima semana busca bloques de código duplicados; luego problemas de subprocesos múltiples, etc.

Después de dedicar tiempo a diferentes detectores, es posible que ahora pueda leer el código con un par de ellos, o tal vez todos ellos activos, de modo que ahora tenga una mejor sensación de código en una sola lectura.

    
respondido por el Carl Manaster 26.02.2011 - 16:58
0

Si estás hablando de errores de compilación, no va a suceder. La mejor solución para los errores del compilador es asignar a la persona que rompió la compilación la tarea de cuidar de las compilaciones hasta que otra persona la rompa. Lo rompiste, lo arreglas.

Los errores lógicos son mucho más difíciles de detectar y evitar. Una técnica para prevenir los casos simples es escribir pruebas de unidad / regresión.

    
respondido por el SnoopDougieDoug 27.02.2011 - 06:10
0

Un consejo que escuché esta mañana (en SE Radio) fue tomar un archivo y reducirlo al tipo de 3 puntos, luego buscar patrones en el texto. No podrás leer el texto. Pero se mostrará todo tipo de patrones. Es un buen truco.

Y este es uno de esos lugares donde la línea de comando es tu amigo, grep y tuberías. Puede hacer muchas cosas útiles.

    
respondido por el Zachary K 27.02.2011 - 15:25
0

Solía ser un instructor de programación durante varios años. Durante este período pasé mucho tiempo leyendo el código y comentándolo. Esto implica detectar errores de compilación (no siempre compilamos el código de los alumnos), errores de lógica y diseño y problemas de estandarización.

Para hacerlo bien, tuvimos que desarrollar un buen ojo para este tipo de errores y poder "ejecutar en seco" el código. Este tipo de actividad también me expuso a muchos estilos de codificación. Hoy mis habilidades de lectura de códigos son bastante buenas gracias a ese período.

Así que mi sugerencia para ti es esta:

  • Haga la revisión del código con sus compañeros.
  • Recomiendo leer su código solo antes de leerlo con ellos para que tengas que descubrir qué hace el código por ti mismo.
  • Comente sobre la estructura del código y la limpieza, los estándares y la lógica.
  • Esto mejorará la calidad de su código, así como sus habilidades de lectura de código.
  • El código revisa tu propio código una vez que hayas terminado de codificarlo, de esta manera podrás evaluarlo "con nuevos ojos" y aprender de tus errores.

¡Buena suerte!

    
respondido por el Hila 27.02.2011 - 16:24

Lea otras preguntas en las etiquetas