El principio Rumpelstiltskin o Enano Saltarin
Este principio uno de los más poderosos en computación y en general en la vida misma: "El principio Rumpelstiltskin o Enano Saltarin" o como al nombrar algo obtienes poder!
Lo encuentras al nombrar una variable o una función, al usar o comunicarte usando un patrón de diseño (hey! aca podemos aplicar un Decorator
) o al recordarte el nombre de una persona y cientos de casos más...al nombrar adquirimos una serie de beneficios.
Beneficios
Al tener el nombre para "algo" puedes:
- Conversar de ella con otras personas, sin necesidad de explicar toda la definición de ese término, por ejemplo:
- Cuando uno habla de patrones: oye aquí apliquemos un
Factory
, esto no podría mejorarse usando unDAO
) - Cuando uno habla de refactorings: mmm y si
extraemos este método
, creo que acá podemosponer en linea una variable
- O simplemente cuando hablas una jerga conocida con tus amigos...
- Cuando uno habla de patrones: oye aquí apliquemos un
- Defines un ambito de lo que ese nombre implica:
- Cuando nombra una variable o funcion, creo un ambito de quien puede usarlo [2]
- Al definir un ambito, evitas confusiones con otros terminos
Origen del principio
De hecho esta idea ha rondado por mi cabeza varias veces 1, la idea de nombrar algo y su importancia, pero finalmente tuvo un nombre para mi cuando escuchaba una clase de Inteligencia Artificial de Patrick Winston. A él le sucedio algo parecido a mi, cuando intentaba recordar los nombres de sus alumnos:
"Vale la pena recordarse (los nombres de los alumnos). Por lo general, la primera vez que saludo a un estudiante por su nombre, especialmente fuera de clase, el estudiante se sorprende, como si presenciara algún tipo de milagro.
En realidad, ocurre una especie de milagro, porque una vez que sé el nombre de un estudiante, ambos tendemos a percibir nuestra relación como colaborativa, en vez de adversaria. El alumno trabaja más duro; Yo mejoro mi enseñanza; y ambos disfrutamos más de la experiencia de enseñanza y aprendizaje.
Es enriquecedor, me hace recordar a la princesa del cuento de hadas, que obtuvo poder sobre Rumpelstiltskin, un enano saltarín, una vez que supo su nombre."
Patrick Winston, The Rumpelstiltskin Principle
Referencias
- Gamma, E. (1995). Design patterns: elements of reusable object-oriented software. Pearson Education India.
- Robert, M. (2009). Clean Code