Tengo tres semanas de vacaciones y nada que ver. ¿Qué puedo hacer en este período, que me ayude a ser un mejor programador?

  • Encuentre un MOOC sobre un tema de programación / ciencias de la computación en el que esté borroso o ignorado en sus días universitarios y tome toda la clase. Si puedes encontrar una clase de algoritmos, sería una buena.
  • Encuentra un idioma que te gustaría aprender y programa un juego de solitario con él. Juega tu programa hasta que ganes. Aprenderá la sintaxis, las estructuras de datos intrínsecas, el mecanismo de depuración y la organización de la gestión de la memoria del lenguaje mejor que “Hola, mundo”. Diablos, si tiene un chip ARM, aprenda el lenguaje ensamblador de esta manera.
  • Arme su propia computadora de escritorio / portátil con las piezas que compre en Fry’s o en cualquier otra tienda que ofrezca tableros de CPU, fuentes de alimentación, chips de memoria, etc. Luego, aplique un sistema operativo y hágalo funcionar con el hardware que haya creado.
  • Encuentre un buen libro relacionado con la programación y léalo de principio a fin. Por ejemplo, “El Mes del Hombre Mítico” o “Código Completo” sería bueno.

Puedes hacer tantas cosas. Lo que necesitas es solo tu dedicación.

Si no sabe mucho sobre las estructuras de datos básicas utilizadas durante la programación, primero aprenda sobre ellas. Puedes obtener algo que valga la pena estudiar sobre el código monje de hackerearth Código Monk: ser un mejor programador O si quieres preferir algún libro, ve a “El lenguaje de programación C” de Dennis Ritchie. Te ayudará mucho a aclarar tus conceptos.

Y una vez que esté al tanto de estas estructuras de datos, también puede utilizar algunos algoritmos y, si le parece muy interesante, también puede comenzar a realizar una programación competitiva. Hay tantas plataformas como CodeChef, Hackerrank, TopCoder, Codeforces, etc.

Así que, todo lo mejor

Refactor

Creo que una de las mejores cosas que podrías hacer en tus tres semanas sería tomar uno de tus proyectos anteriores y / o ir a github y encontrar un proyecto y luego bifurcarlo y luego refactorizarlo. Al hacer esto, aprenderá cómo otros desarrolladores escriben código que le ayudará enormemente cuando trabaje en proyectos más grandes con equipos más grandes. Mientras refactoriza el código, hágase estas preguntas:

  1. ¿Los nombres de las variables son descriptivos?
  2. ¿Son descriptivos los nombres de funciones?
  3. ¿Los comentarios son realmente necesarios o podrían eliminarse agregando nombres de variables descriptivos y nombres de funciones?
  4. ¿Se pueden reducir las funciones / métodos en unidades más pequeñas que hacen menos?
  5. ¿Se pueden cambiar las funciones para que requieran menos parámetros?
  6. ¿Existe un código duplicado que se pueda abstraer en una sola función?
  7. ¿En cuántas razones puedes pensar para que cambie alguna función en particular? Si hay más de uno, quizás deberías dividirlo.
  8. ¿Hay interfaces que proporcionan funcionalidad que no se utiliza? (Si es así, puede dividirse en componentes más pequeños)
  9. ¿Hay alguna prueba unitaria? puedes agregar algo?

Esto, por supuesto, supone que estás en un cierto nivel en tu aprendizaje. Si nada de esto tiene sentido para usted, entonces comprar y leer algunos libros probablemente sería una buena idea. ¿Puedo sugerir Clean Code por Robert C Martin para comenzar?

Si tiene capacidad intermedia, debe revisar los algoritmos básicos y las estructuras de datos. Como dominarlos, ya sea memorizarlos o derivarlos. Si eres un principiante, debes elegir un lenguaje de programación como C ++ y aprender lo básico. No es necesario aprender programación orientada a objetos ni algoritmos ni estructuras de datos, excepto que establecen lo básico. Si está avanzado, debería leer y dominar la teoría de la programación. Como sistemas basados ​​en tipo o teoría de la computación.

Lea http://www.ime.usp.br/~pf/Kernig… 😉

Tres semanas deberían ser suficientes para aprender los conceptos básicos de la madre de muchos lenguajes de programación …

Hay un libro genial de O’Reilly llamado Explorando las cosas cotidianas con R y Ruby. Intentalo.