¿Cómo mejoro mis habilidades de lectura de códigos [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 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 manejables no es factible en un futuro cercano.

Me di cuenta de que lo que realmente dificulta el progreso del desarrollo son mis habilidades de lectura de códigos. ¿Cómo mejoro 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 presionar la tecla "compilar", incluso antes de iniciar el depurador?


fuente
He estado lidiando con un problema similar. Nuestro equipo decidió invertir tiempo en adaptar una base de código heredada muy grande a una nueva compilación que admite el almacenamiento en caché compartido. Logramos mejorar nuestros tiempos de construcción y la confiabilidad de la construcción de manera significativa. Además, si puede refactorizar lo suficiente para comenzar a utilizar grandes partes preconstruidas de su aplicación, también puede ahorrar tiempo de construcción.
smithco
1
Al igual que todas las habilidades, solo mejora con la práctica y la búsqueda de asesoramiento de aquellos que tienen más experiencia.
Al igual que aprender un idioma. Más código que lees, más dominio de tus habilidades de lectura.
Steven Mou

Respuestas:

1

Leer más código

Yo, por mi parte, obtuve mis habilidades de lectura de códigos algo decentes al leer las preguntas de certificación, que eran muy difíciles de seguir, porque estaban mal escritas a propósito

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

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

Mahmoud Hossam
fuente
4

Mejore su entorno de desarrollo tanto como sea posible para que pueda brindarle comentarios que pueda usar.

Los IDE modernos pueden ayudar MUCHO si puede proporcionarles la información necesaria. Ejemplos son:

  • Coloración de sintaxis: constantes en un color, comentarios en otro, identificadores en un tercero, cadenas en un cuarto, etc. Encontré recientemente un código que era ... extraño ... Resultó que una variable fue nombrada como un constante sería: el color equivocado lo delató.
  • Captura errores simples de compilación. La mayoría de los idiomas tienen una sintaxis simple que se puede enseñar a un editor, por lo que le puede decir con anticipación que tendrá errores.
  • Captura errores de compilación complejos. Muchos compiladores pueden generar archivos informativos que se pueden cargar en su IDE para que sepa cuántos argumentos toma una función determinada, etc.

También existen programas que pueden identificar errores lógicos en sus programas, que puede usar 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 cosas fácilmente en lugar de tener que memorizar todo

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.


fuente
1
Además, un monitor alto (o uno ancho y pivotado) puede hacer maravillas porque puede VER más de su código a la vez.
1

Además de lo que todos los demás dijeron, necesita paciencia si va a leer el código (especialmente si no es suyo). Sí, leer por línea de código de memoria requiere práctica, pero todo vale la pena, y también aprende los estilos / trucos de codificación de otros. Esto es lo que compruebo en orden:

  1. nombres de variables, llaves coincidentes, importaciones, etc.
  2. compruebe que las condiciones se coloquen 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 usted es quien va a escribir el código, no tenga miedo de poner espacios en blanco y muescas, y comentarios. Honestamente, si no parece agradable a la vista, se convierte en un dolor en la cabeza.

gladysbixly
fuente
0

Incluso si pudiera detectar todos los errores antes de presionar compilar, aún 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 en la hipótesis sobre el código. "¡Probablemente esto saldría mal!", Y prueba eso. Y al encontrar errores "esta podría ser la causa, vamos a 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 por 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 forma de mejorar es haciendo, haciendo, haciendo. Lea el código, pruebe cosas diferentes, escriba pruebas contra él, conozca la base del código, refactorice. Las herramientas pueden ayudar, herramientas que pueden encontrar dónde se usan los métodos, dónde se implementan las interfaces, dónde se declaran las variables, etc. Y herramientas que le brindan una visión general de los espacios de nombres, sus relaciones y métricas sobre ellos.

KeesDijk
fuente
0

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

yossale
fuente
0

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

Después de dedicar un tiempo dedicado a perfeccionar diferentes detectores, es posible que ahora pueda leer el código con un par, o tal vez todos, activos, por lo que ahora tiene un sentido más rico del código en una sola lectura.

Carl Manaster
fuente
0

Si está 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 para que cuide las compilaciones hasta que alguien más la rompa. Lo rompiste, lo arreglaste.

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

SnoopDougieDoug
fuente
0

Un consejo que escuché esta mañana (en SE Radio) fue tomar un archivo y reducirlo a 3pt tipo, luego buscar patrones en el texto. No podrá leer el texto, pero aparecerán todo tipo de patrones. Es más bien un buen truco.

Y este es uno de esos lugares donde la línea de comando es su amigo, grep y pipelines pueden hacer muchas cosas útiles.

Zachary K
fuente
"fue tomar un archivo y reducirlo al tipo 3pt", ¿qué quiere decir? para cambiar la fuente en el editor de texto a la fuente 3pt?
Exactamente, la idea es ver la forma del texto y no las palabras reales.
Zachary K
0

Solía ​​ser instructor de programación durante varios años. Durante este período, pasé mucho tiempo leyendo códigos y comentando sobre ellos. Esto implica detectar errores de compilación (no siempre compilamos el código de los estudiantes), 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:

  • Revise el código con sus compañeros.
  • Recomiendo leer su código solo antes de repasarlo 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.
  • Revise su propio código algún tiempo después de que haya terminado de codificarlo, de esta manera podrá evaluarlo "con ojos nuevos" y aprender de sus errores.

¡Buena suerte!

Hila
fuente