Demasiado limpio?

Hola Habr!

Les traigo a su atención una traducción del artículo "¿ Demasiado limpio? ", De Robert C. Martin (tío Bob).

imagen

Acabo de ver una charla de Sarah May : un código viable . Eso estuvo muy bien. Estoy completamente de acuerdo con los puntos principales de su discurso. Por otro lado, el tema de su discurso fue que no lo había considerado adecuadamente antes.

Pero antes de llegar a esto, tengo dudas. En algún momento de su discurso, criticó el movimiento de los maestros porque está demasiado centrado en el comportamiento individual más que en el de equipo. Desafortunadamente, esta es una característica errónea del movimiento artesanal, que siempre se ha centrado en crear equipos profesionales y éticos.

En este caso, la idea de que los sistemas de software deberían ser "habitables" es una idea interesante. Según May, para ser "habitable", la organización del sistema de software debe ubicarse entre los extremos del desorden aterrador y confuso de las tiendas de códigos y la pureza antiséptica observada en las páginas de revistas de interiores y folletos de ventas de casas.

Esto no es lo que he considerado o expresado antes; aunque eso era siempre lo que practicaba con timidez.

¿Puede el sistema estar demasiado limpio? ¿Es posible centrarse tanto en la limpieza que prácticamente nadie puede trabajar en el sistema?

Aquí hay una foto de mi oficina hoy. Que ves

imagen

Está relativamente limpio. Esta es una organización clara. Puedes ver mi lugar de trabajo, con una computadora portátil y dos pantallas en el centro. También puedes ver mi estación de simulación de vuelo a la derecha. Hay cestas, cajas y todos los atributos organizacionales habituales.

Pero también hay un poco de desorden. Junto a la impresora, ubicada en el extremo izquierdo, se encuentra el BUG-A-SALT, listo para lidiar con la mosca invasora. A la derecha, en la parte superior de la Tardis, mirando a través de la pantalla de la derecha, hay un rollo de papel higiénico. En caso de que derrame mi café o quiera estornudar. ¿Puedes encontrar la ruleta? ¿Ves, un montón de herramientas de dibujo a la izquierda? ¿Qué pasa con todas estas pegatinas, fotos y ... Y qué pasa con el mundo dentro de todos estos agujeros en el armario?

La limpieza y la organización de la oficina la hacen utilizable. Sé dónde están todas las cosas. Y sé cómo acceder a ellos. Los elementos no relacionados no interfieren entre sí. No hay dependencias innecesarias.

Un pequeño desorden en la oficina es útil. El trastorno se debe a problemas temporales. Moscas, café, estornudos, garabatos, momentos de inactividad, cambios en las prioridades de trabajo y lugares comunes para poner cosas con las que no sé qué hacer. Sin este desorden, sería más difícil para mí usar el lugar de trabajo. ¡Y el próximo uso de la oficina volvería a causar un desastre!

Así que, obviamente, estoy dejando que un pequeño desastre entre en mi oficina. Esta confusión resuelve problemas temporales. Pero también está claro que estoy luchando para mantener este desastre bajo control. Lucho por la limpieza de la oficina. ¡Y no es fácil!

¿Se aplica esta regla al código? Esto es absolutamente cierto! Cuando escribo código, hago todo lo posible para mantenerlo limpio. Pero también hay pequeños lugares donde rompo las reglas precisamente porque estas violaciones permiten resolver problemas temporales.

Por ejemplo, trato de separar a los presentadores de las vistas. El código que coloca los datos en una forma presentable no debe estar al lado del código que muestra estos datos en la pantalla. Por otro lado, cuando intenta que la pantalla se vea y funcione correctamente, es muy difícil cambiar entre dos archivos diferentes. A veces, simplemente tiene sentido combinar el código nuevamente, obtener todo lo que funciona de la manera que desee y luego volver a dividir el código. Esta técnica se conoce como "Mejor Peor".

En cualquier caso, creo que tiene sentido que el código sea habitable. No deberíamos avergonzarnos si nuestro código se ve un poco poblado. Por otro lado, debemos controlarnos cuidadosamente y evitar que el trastorno se salga de control.

Source: https://habr.com/ru/post/476076/


All Articles