WET: ¿Cómo hacer que tus estudiantes pierdan su tiempo sin que se den cuenta?

DRY: Dont Repeat Yourself. Un principio inventado por Andrew Hunt y David Thomas, citado por primera vez en su libro The Pragmatic Programmer, en la sección The Evils of Duplicity. Habla sobre todas las desventajas que conlleva el repetir trozos de código (las repercusiones de ctrl+c y ctrl+v en el código).

Un ejemplo: imaginen que tenemos un programa que suma dos números, pero nosotros queremos sumar dos manzanas, entonces, copiamos y pegamos el código del módulo sumar(a, b) en la clase Manzana y modificamos el código, en vez de a ponemos “cantidad” y en vez de b, ponemos “otraManzana.cantidad”.
Pero luego, un colega descubre una forma más eficaz de sumar dos números, y modifica su módulo sumar(a, b). Tu clase Manzana sigue utilizando el código antiguo del módulo sumar(a, b)! entonces, tendrías que volver a copiar y pegar el código!! ahora, imagina que, no solo haz creado la clase Manzana, sino también la clase Perrito, la clase Gatito, la clase Cuaderno, etc… como diría Andrew Hunt y David Thomas: “it’s not a question of whether you’ll remember. It’s a question of when you’ll forget”.

Aquí una página que lo explica mejor: http://grabbagoft.blogspot.com/2007/06/evils-of-duplication.html

y si no me creen, solo buscen “principio DRY” ó “DRY principle” en google, y verán todas las referencias que existen. O busquen “duplicate code” en google o duckduckgo, y aparecerán varios programas para detectar código duplicado (esto ya es un indicio de que la duplicación es malvada! (o DIE, como suelen llamarle: Duplication Is Evil).

Pero no basta con restringir el copy paste, hay que encontrar soluciones que ELIMINEN el código repetido, como dicen sus autores: solo debe haber una fuente al código, una fuente a la que todos tengan acceso. Para que, cuando alguien modifique la fuente, ningun otro trozo de código tenga acceso al código anterior.

-y es por eso que me revelaba tanto contra el lic. Casilla, es por eso que me aplacé varias veces en laboratorio por no usar el “código” que él distribuía y no copiar, pegar y reemplazar código… es por eso que aprendí tanto este semestre… no estaba taaaan loca, después de todo-