97 cosas que todo programador debería saber

root's picture

Traducción al Español del libro “97 Things Every Programmer Should Know”, contiene todo tipo de consejos y recomendaciones para los profesionales de la programación informática: refactorización, código limpio, pruebas, aprendizaje contínuo, etc.

Este sitio es la continuación del esfuerzo de Natán Calzolari (inicialmente en http://97cosas.com.ar)
Índice

  1. Actúa con prudencia, por Seb Rose
  2. Aplica los principios de la programación funcional, por Edward Garson
  3. Averigua qué haría el usuario (tú no eres el usuario), por Giles Colborne
  4. Automatiza el estándar de codificación, por Filip van Laenen
  5. La belleza está en la simplicidad, por Jørn Ølmheim
  6. Antes de Refactorizar, por Rajith Attapattu
  7. Ten cuidado al compartir, por Udi Dahan
  8. La Regla Boy Scout, por Uncle Bob
  9. Primero revisa tu código antes de buscar culpar a otros, por Allan Kelly
  10. Escoge tus herramientas con cuidado, por Giovanni Asproni
  11. Codifica en el lenguaje del dominio, por Dan North
  12. El código es diseño, por Ryan Brush
  13. El diseño del código sí importa, por Steve Freeman
  14. Revisiones de código, por Mattias Karlsson
  15. Codificando con la razón, por Yechiel Kimchi
  16. Un comentario acerca de los comentarios, por Cal Evans
  17. Comenta sólo lo que el código no dice, por Kevlin Henney
  18. Aprendiendo continuamente, por Clint Shank
  19. La conveniencia no es una -bilidad, por Gregor Hohpe
  20. Implementa rápido y con frecuencia, por Steve Berczuk
  21. Distingue excepciones de Negocio de las excepciones Técnicas, por Dan Bergh Johnsson
  22. Haz mucha práctica deliberada, por Jon Jagger
  23. Lenguajes Específicos del Dominio (DSL), por Michael Hunger
  24. No tengas miedo de romper cosas, por Mike Lewis
  25. No seas lindo con tus datos de prueba, por Rod Begbie
  26. ¡No ignores ese error!, por Pete Goodliffe
  27. No sólo aprendas el lenguaje, entiende su cultura, por Anders Norås
  28. No claves tu programa en la posición vertical, por Verity Stob
  29. No confíes en el “Aquí sucede la magia”, por AlanGriffiths
  30. No te repitas, por Steve Smith
  31. ¡No toques ese código!, por Cal Evans
  32. Encapsula Comportamiento, no sólo Estado, por Einar Landre
  33. Los números de punto flotante no son reales, por Chuck Allison
  34. Cumple tus ambiciones con Software Libre, por Richard Monson-Haefel
  35. La regla de oro del diseño de API, por Michael Feathers
  36. El mito del Gurú, por Ryan Brush
  37. El trabajo duro no paga, por Olve Maudal
  38. ¿Cómo usar un Gestor de Errores?, por Matt Doar
  39. Mejora el código quitándolo, por Pete Goodliffe
  40. Instalame, por Marcus Baker
  41. La comunicación entre procesos afecta el tiempo de respuesta de la aplicación, por Randy Stafford
  42. Mantén limpia la compilación, por Johannes Brodwall
  43. Aprende a usar las herramientas de línea de comandos, por Carroll Robinson
  44. Conoce bien más de dos lenguajes de programación, por Russel Winder
  45. Conoce tu IDE, por Heinz Kabutz
  46. Conoce tus límites, por Greg Colvin
  47. Conoce tu próximo Commit, por Dan Bergh Johnsson
  48. Los grandes datos interconectados pertenecen a una base de datos, por Diomidis Spinellis
  49. Aprende un lenguaje extranjero, por Klaus Marquardt
  50. Aprende a hacer estimaciones, por Giovanni Asproni
  51. Aprende a decir “Hola, Mundo”, por Thomas Guest
  52. Deja que tu proyecto hable por sí mismo, por Daniel Lindner
  53. El linker no es un programa mágico, por Walter Bright
  54. La longevidad de las soluciones provisionales, por Klaus Marquardt
  55. Haz las Interfaces fáciles de usar correctamente y difíciles de usar incorrectamente, por Scott Meyers
  56. Haz lo invisible más visible, por Jon Jagger
  57. El paso de mensajes lleva a una mejor escalabilidad en sistemas paralelos, por Russel Winder
  58. Mensaje al futuro, por Linda Rising
  59. Oportunidades perdidas del Polimorfismo, por Kirk Pepperdine
  60. Noticias raras - Los testers son tus amigos, por Burk Hufnagel
  61. Un binario, por Steve Freeman
  62. Sólo el código dice la verdad, por Peter Sommerlad
  63. Adueñate (y Refactoriza) la compilación, por Steve Berczuk
  64. Programa en pareja y siente el flujo, por Gudny Hauknes, Ann Katrin Gagnat, y Kari Røssland
  65. Da preferencia a tipos de Dominio Específico que los tipos primitivos, por Einar Landre
  66. Evita errores, por Giles Colborne
  67. El Programador Profesional, por Uncle Bob
  68. Pon todo bajo Control de Versiones, por Diomidis Spinellis
  69. Suelta el ratón y aléjate del teclado, por Burk Hufnagel
  70. Lee el código, por Karianne Berg
  71. Lee las humanidades, por Keith Braithwaite
  72. Reinventa la rueda frecuentemente, por Jason P Sage
  73. Resiste la tentación del patrón Singleton, por Sam Saariste
  74. El camino al mejor rendimiento está lleno de sucias bombas de código, por Kirk Pepperdine
  75. La Simplicidad viene de la Reducción, por Paul W. Homer
  76. El Principio de Responsabilidad Única, por Uncle Bob
  77. Inicia con un Sí, por Alex Miller
  78. Retrocede y Automatiza, Automatiza, Automatiza, por Cay Horstmann
  79. Toma ventaja de las herramientas de análisis de código, por Sarah Mount
  80. Prueba el comportamiento requerido, no el comportamiento incidental, por Kevlin Henney
  81. Prueba precisa y concretamente, por Kevlin Henney
  82. Haz pruebas mientras duermes (y los fines de semana), por Rajith Attapattu
  83. Las pruebas son el rigor ingenieril del desarrollo de software, por Neal Ford
  84. Pensando en estados, por Niclas Nilsson
  85. Dos cabezas son a menudo mejores que una, por Adrian Wible
  86. Dos fallos pueden hacer un acierto (y es difícil de arreglar), por Allan Kelly
  87. Codificación Ubuntu para tus amigos, por Aslam Khan
  88. Las herramientas Unix son tus amigas, por Diomidis Spinellis
  89. Usa el algoritmo y estructura de datos correcto, por JC van Winkel
  90. Los registros detallados perturbarán tu sueño, por Johannes Brodwall
  91. El WET dispersa los cuellos de botella en el rendimiento, por Kirk Pepperdine
  92. Cuando Programadores y Testers colaboran, por Janet Gregory
  93. Escribe código como si tuvieras que mantenerlo por el resto de tu vida, por Yuriy Zubarev
  94. Escribe pequeñas funciones usando ejemplos, por Keith Braithwaite
  95. Escribe las pruebas para las personas, por Gerard Meszaros
  96. Preocúpate por el código, por Pete Goodliffe
  97. Tus clientes no quieren decir lo que dicen, por Nate Jackson