____ __ ____ __ __
/ __ \___ ________ / /_ / __ \___ / /_ ____ ____ / /_
/ /_/ / _ \/ ___/ _ \/ __/ / /_/ / _ \/ __ \/ __ \/ __ \/ __/
/ _, _/ __(__ ) __/ /_ / _, _/ __/ /_/ / /_/ / /_/ / /_
/_/ |_|\___/____/\___/\__/ /_/ |_|\___/_.___/\____/\____/\__/
Refranero del programador pragmático
Esta es una colección de adagios y conocimiento, en forma de pequeñas frases o rimas, sobre programación y las TIs en general.
- Uno de los imperativos en programación es "escribe tan poco código como puedas", es decir, intenta tirar lo máximo posible de código existente, librerías, frameworks... Básicamente, "quien mucho habla, mucho yerra", pero en el ámbito de la programación. Y además, si falla siempre puedes echarle la culpa a otro...
- El código es ley, la documentación probablemente no esté actualizada.
- Si funciona a la primera, sospecha.
- Desconfía de todo lo que entre por vía del usuario o de sistemas externos (terceros, APIs, librerías...) a tu código.
- Que el frontend valide los datos no excluye que el backend también: Nunca se sabe quién puede puentear un código que se ejecuta en el ordenador del cliente. Como plus, si tienes varios consumidores, les validas a todos en cualquier caso.
- Nunca eches por tierra la reputación del que vino antes que tú al proyecto: Para muchas de esas malas decisiones no estabas ahí para comprender el por qué de ellas. Igual en ese momento podrías haber estado de acuerdo.
- Los tests no son una bala de plata para evitar los bugs, pero te dan la tranquilidad de no haber roto cosas importantes con ese refactor que te acabas de marcar.
- Douglas Engelbart: "Si la facilidad de uso fuera el único requisito, todos estaríamos moviéndonos en triciclos."
- Grace Hopper: «Yo tenía un compilador funcionando y nadie lo tocaría. ... me dijeron con cuidado que las computadoras sólo podían realizar operaciones aritméticas, que no podían hacer programas».
- Bjarne Stroustrup: "Existen dos tipos de lenguajes de programación: por un lado, aquellos de los que la gente se queja todo el rato; por otro, los que nadie utiliza."
- Linus Torvalds: "Si compila está bien, si echa a andar es perfecto."
- Linus Torvalds: "Nadie debe empezar un proyecto grande. Empiezas con uno pequeño y trivial y nunca debes esperar que crezca; si lo haces solamente sobrediseñarás y generalmente pensarás que es más importante de lo que lo es en esta etapa. O peor, puedes asustarte por el tamaño de lo que tu esperas que crezca. Así que empieza pequeño y piensa en los detalles. No pienses acerca de la foto grande y el diseño elegante. Si no resuelve una necesidad inmediata, seguramente está sobrediseñado. Y no esperes que la gente salte a ayudarte, no es así como estas cosas funcionan. Primero debes tener algo medianamente usable y otros dirán "hey, esto casi funciona para mí" y se involucrarán en el proyecto."
- Linus Torvalds: "Sabes que eres brillante, pero querrás comprender lo que has hecho dentro de dos semanas."
- Linus Torvalds: "Si piensas que tus usuarios son idiotas, sólo los idiotas lo usarán."
- Linus Torvalds: "Si necesitas más de tres niveles de indentación, estás totalmente jodido, y deberías organizar tu programa."
- Linus Torvalds: "A la vista de suficientes ojos, todos los errores resultan evidentes."
- Larry Wall: "Si tienes un sólo clavo, tiendes a ver a los martillos como un problema."
- Principio de diseño: KISS; Keep It Simple, Stupid.
- El mejor código de todos es aquel que no se escribe.
- Sólo porque algo es popular y está de moda, no significa que sea la elección correcta para ti
- No deberíamos tomar en serio a los adoradores de las balas de plata, fundamentalistas del tipado estático y puristas de la programación funcional porque el fundamentalismo en cualquiera de sus formas deja ciegos a sus adeptos y los hace despegarse de la realidad.