3 libros para mejorar sus habilidades de codificación
Impulse sus perspectivas profesionales con estos libros de codificación.
Libros de codificación
Algorithms (Algoritmos) de Robert Sedgewick
Este libro enseña algoritmos básicos como búsqueda, clasificación y gráficos. Todos los estudiantes de informática pasan por estructuras de datos y algoritmos. Es una parte esencial de ese campo. Este libro explicará la implementación de la función de búsqueda y las diferencias entre los algoritmos de clasificación. Una de las secciones está dedicada a la teoría de grafos. Después de completarlo, obtendrá claridad sobre cómo atravesar un árbol y encontrar el camino más corto. Reconocer esos algoritmos y poder aplicarlos podría ser muy útil en su próxima entrevista de trabajo. Un ingeniero de software experimentado sabe en qué situación utilizar un algoritmo adecuado y qué rendimiento esperar.
En caso de que no tenga ganas de leer un libro enorme y prefiera escuchar las clases, hay un curso completamente gratuito en Coursera del autor del libro.
Code Complete (Código completo) por Steve McConnell
Cuando terminé este libro, me sorprendió que nadie me hubiera explicado cosas tan básicas pero cruciales hasta ahora. Es posible que se pregunte: “¿Qué son?” Permítanme traerles algunos ejemplos.
Por ejemplo, declarar e inicializar una variable solo en un lugar donde se va a utilizar. No es necesario declarar una variable y solo asignarla en algún lugar del código. La variable debe tener el alcance menos visible posible. El beneficio de esto es que la legibilidad del código mejora mucho y tus compañeros de equipo estarán agradecidos por ello.
Otro ejemplo es cómo utilizar las condiciones if
de manera eficiente. Son simples, pero pueden reducir dramáticamente la legibilidad del código. Mira el siguiente ejemplo:
El ejemplo anterior tiene demasiadas condiciones if
anidadas, lo que dificulta seguir y probar la lógica. Mientras aprendemos programación, nos enfocamos en cómo funciona la condición if
y cuándo usarla. Pero nadie nos dice cómo se puede usar mal. El libro da algunos consejos para este caso: Evite demasiados bloques anidados, considere dividir el código en funciones y verifique si la instrucción switch..case
es adecuada (si el lenguaje lo admite).
Estos y muchos otros ejemplos se tratan en este libro de codificación.
Functional Thinking (Pensamiento funcional) de Neal Ford
Según Wikipedia, el primer lenguaje de programación funcional se desarrolló a finales de la década de 1950. Desde entonces, el paradigma de la programación funcional solo ha comenzado a hacerse más popular. Esto significa que los datos se transforman a través de las funciones, que se pueden componer en muchos niveles.
Sin embargo, puede ser bastante difícil para los desarrolladores principiantes entender cómo construir secuencias sin estado. Incluso para los desarrolladores experimentados que nunca utilizaron la programación funcional, escribir código funcional eficiente y fácil de mantener puede resultar complicado.
El siguiente ejemplo en Kotlin hace la suma de los cuadrados de los números pares:
val input = listOf(1, 2, 3, 4, 5, 6) val result = input.filter { it % 2 == 0 } .map { it * it } .sum()
Esto se puede hacer de una manera declarativa habitual, pero eso requeriría escribir algunos bucles y guardar estados intermedios. Escribir el código de manera funcional lo hace más simple, más limpio y sin estado. Aparte de eso, es importante darse cuenta de que el orden de las funciones puede jugar un papel importante en el desempeño. Mirando el ejemplo, cuando el método filter()
se llama antes, las siguientes funciones ya operan en un conjunto de datos más pequeño.
Este es uno de los libros de codificación que explica las funciones más populares, enseña cómo aplicarlas de manera eficiente y cómo escribir código limpio de manera funcional. Se recomienda para desarrolladores que ya tengan alguna experiencia en codificación.
Conclusión
Hay muchos libros de codificación e ingeniería de software buenos. De hecho, estos libros sugeridos pueden tener alternativas. Pero si lee los mencionados anteriormente, podrá entregar código legible y escalable.