Cómo mejorar las habilidades de codificación y depuración

Experiencia, experiencia y experiencia.

Mejora su habilidad de depuración cuando encuentra y resuelve problemas. Para que eso suceda, debes desafiarte a ti mismo programando algo que nunca hiciste, seguramente tendrás al menos una dificultad.

Además, recomendaría aprender algo nuevo constantemente.

Y finalmente, vea el código escrito por otros buenos programadores, lo ayudará a comprender las formas eficientes / correctas de escribir código. Cuando encuentras algo que no entiendes, investígalo y sus usos comunes de esa manera puedes aprender bastante bien.

A veces puede ser difícil encontrar buenos ejemplos de código, pero puede buscar proyectos de código abierto y tutoriales de YouTube (realizados por profesionales).

O si tiene dificultades para encontrar / comprender lo que necesita para lograr, puede pedirle a un profesional independiente que le escriba un guión / programa que incluya comentarios para explicar cada detalle.

(En caso de que use Unity) Aquí hay un servicio freelance de Unity3D C # freelancer (5 $) que comenta su código: technographicpc: Le escribiré un Unity3D Csharp Script 48hrs por $ 5 en www.fiverr.com

Bueno, aquí están mis humildes opiniones:

Aprende de los demás

Trabajando en colaboración con mejores desarrolladores, la mejor manera de mejorar sus habilidades de codificación y no hay alternativa. Si puedes codificar con alguien con mejores habilidades en persona, hazlo.

Lo mejor es trabajar bajo supervisión o en colaboración con un gran desarrollador. Encuentre a alguien que sea inteligente y que haya trabajado en muchos lugares. Trabaja bajo su supervisión y te garantizo que tus habilidades de codificación aumentarán.

Sal de la oscuridad

No deberías estar en la oscuridad. Como si ocurriera una magia. Presiona un botón que ha aparecido un programa. Tienes que entender cómo funciona todo. Si usa ide, intente trabajar con la línea de comandos durante algún tiempo. Para comprender mejor lo que está sucediendo debajo. Cómo se convierte el código fuente en código de bytes o código de máquina o cómo funciona el código interpretado.

Recoger un idioma del hogar Digamos java. Ahora pon tus fundamentos en ese idioma. Debe saber cómo funciona todo en Java. Cómo se compilan los programas, cómo se ejecutan, cómo funcionan los argumentos de la línea de comandos, cómo se manejan las excepciones, cómo se administra la memoria y qué pasa por referencia y valor.

Ahora, una vez que lo hayas hecho, el trato es el mismo en todas partes. Y en qué es diferente, siempre puedes buscar en Google.

Estructuras de datos y algoritmos.

Esa es la columna vertebral para la resolución de problemas tanto en ingeniería de software como en informática. Usar la estructura de datos correcta en el momento adecuado le ahorra muchos problemas. Te voy a dar un ejemplo. Debe verificar nuevamente si un valor ya está presente en una colección. Usted elige el vector para el almacenamiento. Ahora queda atrapado en los bucles O (n ^ 2). Si ya se hubiera ido con hash set, la vida habría sido fácil y su programa habría sido mucho más rápido.

Los buenos programadores son buenos en algoritmos y estructuras de datos. Período. Si no lo eres, detente y ve a mejorar. De lo contrario, seguirás viendo a otras personas haciendo magia que nunca entenderás.

Divide y conquistaras

Confía en mí, esta estrategia funciona increíblemente. Piensa en la imagen más grande por un tiempo y luego olvídalo. Vea cómo puede resolver el problema en pequeños pasos. Ahora resuelva estos pequeños problemas con una mente relajada.

Ah, por cierto, no vayas allí y empieces a escribir. No sugiero hacer diagramas y toda esa mierda que enseñan en las clases. Pero codifique lentamente. La codificación rápida causará problemas y usted se pondrá nervioso. Así que tómalo con calma y ve despacio y constante. La vida será más fácil. Confía en mí funciona.

Aprenda sobre socios de diseño

Si eres ingeniero de software, no puedes vivir sin patrones de diseño. Lee un libro sobre ellos. Leí los patrones de diseño de Head First. Fue increíble. Puedes elegir el tuyo, pero si nunca has oído hablar de patrones de diseño, ve a leer un libro. Las cosas en línea no funcionarían aquí, en mi opinión. Serás un mejor ingeniero de software después de haber leído sobre patrones de diseño y comprender que otros códigos se volverán más simples.

Mejoran con el tiempo. No tengas miedo de hacer más clases de las necesarias. Simplemente hazlo. Aprenderás tu mismo.

¿Qué pasa con la depuración?

Aprende a ejecutar en seco el código en tu cerebro. Sigue el código secuencialmente y sigue ejecutándolo en tu cerebro. Llegarás al problema. De todos modos, hay muchas técnicas. Al final, el depurador es la clave en los lenguajes compilados. Pero antes de continuar con el depurador, aprenda las técnicas como detener la ejecución en varias etapas si los resultados son correctos hasta esa etapa y generar información de depuración.

Después de esto, viene el depurador. Si eres realmente bueno para depurar, puedes rastrear el error de inmediato. Romper puntos, entrar, salir, si sabes estas cosas, ya eres un buen depurador. El descanso viene con experiencia. Supongo que no hay un atajo realmente.

Conocimiento de la amplitud

Déjame darte un pequeño cuestionario para que puedas ponerte a prueba la cantidad de conocimiento que tienes

  1. ¿Sabes qué son las solicitudes http? ¿Qué son las solicitudes de envío y recepción?
  2. ¿Conoces los permisos de archivos?
  3. ¿Conoces las claves públicas y privadas?
  4. ¿Sabes sobre dns?
  5. ¿Conoces las expresiones lambda?
  6. ¿Qué sabes sobre computación paralela? ¿Y la informática distribuida?
  7. ¿Conoces los bloqueos de hilo? Y, por supuesto, multihilo.
  8. ¿Conoces las aplicaciones de escalado?
  9. ¿Qué tan bueno eres en los sistemas de control de versiones? O específicamente git. No estoy sesgado específicamente hacia git, entonces.
  10. ¿Qué tan bueno eres con las expresiones regulares?
  11. ¿Sabes sobre picadillo, salazón? ID únicos?

Y hay innumerables más. Si no sabes la respuesta, ve a buscarlos. A menos, por supuesto, si usted es un desarrollador web de back-end y planea hacer eso toda su vida. Conviértete en un solucionador de problemas. Y podrá trabajar en cualquier tecnología.

Practicar, practicar, practicar, estudiar / leer sobre métodos y técnicas; REPETIR

La codificación y la depuración requieren práctica para que comience a pensar en la estrategia más que en la sintaxis.

Aprender a pensar sobre la codificación generalmente requiere leer libros sobre las soluciones que otros han encontrado para problemas similares (vale la pena estudiar la programación funcional).

Pero usar este nuevo ‘conocimiento’ requiere más PRÁCTICA, PRÁCTICA, PRÁCTICA.

Si bien lo anterior es cierto tanto para la codificación como para pensar en la depuración, el uso de herramientas como los depuradores también requiere práctica solo para ganar facilidad con la (s) herramienta (s).

Analogía: puede comprender profundamente la carpintería, pero también debe saber cómo usar la sierra en particular que ha comprado.

Puedo resumir mi respuesta para usted en una palabra: práctica

Y luego sigue haciéndolo una y otra vez. Lo único que hace que un programador sea un buen programador es a través de la práctica. Piense en algún problema, intente codificarlo y, a medida que avance, seguramente encontrará errores. Resuelvelos. Este problema seguramente lo llevará a un punto en el que comenzará a ser bueno aparentemente sin darse cuenta usted mismo.