Las 97 cosas que todo programador debería saber

Las 97 cosas que todo programador debería saber

Al comenzar en el mundo de la programación desconocemos infinidad de trucos y alternativas que pueden facilitar nuestro trabajo. Aquel que lleve programando durante mucho tiempo ha experimentado situaciones difíciles que con el tiempo aprende a solventar. Es por esta razón que existe un libro en inglés que contiene las 97 cosas que todo programador debería saber, y hoy quiero compartirles cada uno de sus consejos traducidos al español.

En mi experiencia los consejos me han sido de mucho ayuda. Algunos de los conceptos del libro ni siquiera los imaginaba, algunos me habrían salvado la vida en ciertas situaciones anteriores. En el libro podemos encontrar consejos para refactorizar, hacer pruebas constantes, código más limpio, comentarios oportunos, revisiones, trabajo colaborativo entre otros.

Cosas que debe saber un programador

El libro esta dividido en 97 capítulos, cada uno con un consejo especifico y ha sido escrito por 97 desarrolladores top que compartieron algo de su experiencia. A continuación voy listar cada uno de los consejos con su respectivo enlace para que los puedan estudiar y poner en practica.

1. Actúa con prudencia.

2. Adueñate (y Refactoriza) la compilación.

3. Antes de Refactorizar.

4. Aplica los principios de la programación funcional.

5. Aprende a decir “Hola, Mundo”.

6. Aprende a hacer estimaciones.

7. Aprende un lenguaje extranjero.

8. Aprendiendo continuamente.

9. Automatiza el estándar de codificación.

10. Averigua qué haría el usuario (tú no eres un usuario).

11. La belleza está en la simplicidad.

12. El camino al mejor rendimiento está lleno de sucias bombas de código.

13. Codificando con la razón.

14. Codifica en el lenguaje del dominio.

15. Codificación Ubuntu para tus amigos.

16. El código es diseño.

17. Comenta sólo lo que el código no dice.

18. Un comentario acerca de los comentarios.

19. ¿Cómo usar un Gestor de Errores?.

20. Conoce bien más de dos lenguajes de programación.

21. Conoce cómo usar las herramientas de línea de comandos.

22. Conoce tu próximo Commit.

23. Conoce tu IDE.

24. Conoce tus límites.

25. La conveniencia no es una -bilidad.

26. Cuando Programadores y Testers colaboran.

27. Ten cuidado al compartir.

28. Cumple tus ambiciones con Código Abierto.

29. Los grandes datos interconectados pertenecen a una base de datos.

30. Deja que tu proyecto hable por sí mismo.

31. El diseño del código sí importa.

32. Distingue excepciones de Negocio de las excepciones Técnicas.

33. Dos cabezas son a menudo mejores que una.
34. Dos fallos pueden hacer un acierto (y es difícil de arreglar).

35. Lenguajes Específicos del Dominio (DSL).

36. El mito del Gurú.

37. El Programador Profesional.

38. El trabajo duro no paga.

39. Encapsula Comportamiento, no sólo Estado.

40. Escoge tus herramientas con cuidado.

41. Escribe código como si tuvieras que mantenerlo por el resto de tu vida.

42. Escribe pequeñas funciones usando ejemplos.

43. Escribe las pruebas para las personas.

44. Evita errores.

45. Haz lo invisible más visible.

46. Haz mucha práctica deliberada.

47. Las herramientas Unix son tus amigas.

48. Implementa rápido y con frecuencia.

49. Inicia con un Sí.

50. Instalame.

51. Haz las Interfaces fáciles de usar correctamente y difíciles de usar incorrectamente.

52. La comunicación entre procesos afecta el tiempo de respuesta de la aplicación.

53. Lee el código.

54. Lee las humanidades.

55. El linker no es un programa mágico.

56. La longevidad de las soluciones provisionales.

57. Mantén limpia la compilación.

58. Mejora el código quitándolo.

59. Mensaje al futuro.

60. No sólo aprendas el lenguaje, entiende su cultura.

61. No claves tu programa en la posición vertical.

62. No confíes en el “Aquí sucede la magia”.

63. ¡No ignores ese error!.

64. No seas lindo con tus datos de prueba.

65. No te repitas.

66. No tengas miedo de romper cosas.

67. ¡No toques ese código!.

68. Los números de punto flotante no son reales.

69. Oportunidades perdidas del Poliformismo.

70. El paso de mensajes lleva a una mejor escalabilidad en sistemas paralelos.

71. Pensando en estados.

72. Pon todo bajo Control de Versiones.

73. Da preferencia a tipos de Dominio Específico que los tipos primitivos.

74. Preocúpate por el código.

75. El Principio de Responsabilidad Única.

76. Programa en pareja y siente el flujo.

77. Prueba el comportamiento requerido, no el comportamiento incidental.

78. Prueba precisa y concretamente.

79. Haz pruebas mientras duermes (y los fines de semana).

80. Las pruebas son el rigor ingenieril del desarrollo de software.

81. Los registros detallados perturbarán tu sueño.

82. La Regla Boy Scout.

83. La regla de oro del diseño de API.

84. Reinventa la rueda frecuentemente.

85. Resiste la tentación del patrón Singleton.

86. Retrocede y Automatiza, Automatiza, Automatiza.

87. Primero revisa tu código antes de buscar culpar a otros.

88. Revisiones de código.

89. La Simplicidad viene de la Reducción.

90. Sólo el código dice la verdad.

91. Suelta el ratón y aléjate del teclado.

92. Noticias raras – Los testers son tus amigos.

93. Toma ventaja de las herramientas de análisis de código.

94. Tus clientes no quieren decir lo que dicen.

95. Un binario.

96. Usa el algoritmo y estructura de datos correcto.

97. El WET dispersa los cuellos de botella en el rendimiento.

Espero que estos consejos sean de ayuda, no olviden compartir este post con aquellos a quienes crean que les puede servir. ¡Hasta pronto!

Juan Vallejo

Programador, Desarrollador de Videojuegos y contenidos digitales.