2013-05-10

97/8 cosas que todos los programadores deberían saber


La Regla de los Boy Scouts

Los Boy Scouts tienen una regla: "Siempre deje el limpiador de camping que usted lo encontró." Si usted encuentra un lío en el suelo, lo limpia, independientemente de quién podría haber hecho el desorden. Usted intencionalmente mejorar el medio ambiente para el siguiente grupo de campistas. En realidad, la forma original de esa norma, escrita por Robert Stephenson Smyth Baden-Powell, el padre de la exploración, era "Traten de dejar este mundo un poco mejor de como lo encontraste."
¿Qué pasa si seguimos una regla similar en nuestro código: "Siempre verifique un módulo en limpio que cuando te registraste a cabo." No importa quién es el autor original, lo que si siempre hemos hecho algún esfuerzo, por pequeño que sea, para mejorar el módulo. ¿Cuál sería el resultado?
Creo que si todos siguiéramos esa regla simple, veríamos el final del deterioro incesante de nuestros sistemas de software. En cambio, nuestros sistemas se hacen cada vez mejor y mejor a medida que evolucionaban.También nos vemos equipos que cuidan al sistema en su conjunto, y no sólo las personas que cuidan de su propia pequeña pequeña parte.
No creo que esta regla es demasiado pedir. Usted no tiene que hacer todos los módulos perfecta antes de comprobarlo pulg Usted simplemente tiene que hacerlo un poco mejor que cuando lo comprobamos. Por supuesto, esto significa que cualquier código que se agrega a un módulo debe estar limpia. También significa que usted limpia por lo menos una cosa más antes de comprobar el módulo interactivo Usted puede mejorar simplemente el nombre de una variable, o dividir una función mucho en dos funciones más pequeñas. Usted puede romper una dependencia circular, o agregar una interfaz a disociar la política del detalle.
Francamente, esto suena como la decencia común para mí - como lavarse las manos después de ir al baño, o poner la basura en la papelera en lugar de caer en el suelo. En efecto, el hecho de dejar un lío en el código debe ser socialmente inaceptable como basura. Debe ser algo que simplemente no se hace.
Pero es más que eso. El cuidado de nuestro propio código es una cosa. El cuidado de código del equipo es otra muy distinta. Los equipos se ayudan entre sí, y limpiar después de la otra. Ellos siguen la regla de los Boy Scouts, porque es bueno para todos, no sólo es bueno para ellos.
por Uncle Bob