Trop propre?

Bonjour, Habr!

J'attire votre attention sur une traduction de l'article « Trop propre? » De Robert C. Martin (oncle Bob).

image

Je viens de regarder une conférence de Sarah May : A Viable Code . C'était très bien. Je suis entièrement d'accord avec les principaux points de son discours. D'un autre côté, le sujet de son discours était que je n'avais pas bien réfléchi auparavant.

Mais avant d'en arriver là, je dois taquiner. À un moment donné de son discours, elle a critiqué le mouvement des maîtres pour le fait qu'il soit trop axé sur le comportement individuel plutôt que sur le comportement d'équipe. Malheureusement, c'est une mauvaise caractéristique du mouvement artisanal, qui s'est toujours concentré sur la création d'équipes professionnelles et éthiques.

Dans ce cas, l'idée que les systèmes logiciels devraient être «habitables» est un aperçu intéressant. Selon May, pour être «vivable», l'organisation du système logiciel doit se situer quelque part entre les extrêmes du désordre terrifiant et déroutant des magasins de codes et la pureté antiseptique observée sur les pages des magazines d'intérieur et des brochures de vente de maisons.

Ce n'est pas ce que j'ai considéré ou exprimé auparavant; bien que ce soit toujours ce que je pratiquais timidement.

Le système peut-il être trop propre? Est-il possible de se concentrer tellement sur la propreté que personne ne peut pratiquement travailler dans le système?

Voici une photo de mon bureau aujourd'hui. Que voyez-vous?

image

C'est relativement propre. Il s'agit d'une organisation claire. Vous pouvez voir mon lieu de travail, avec un ordinateur portable et deux écrans au centre. Vous pouvez également voir ma station de simulation de vol sur la droite. Il y a des paniers, des boîtes et tous les attributs organisationnels habituels.

Mais il y a aussi un peu de gâchis. À côté de l'imprimante, située dans le coin le plus à gauche, se trouve le BUG-A-SALT, prêt à faire face à la mouche envahissante. Sur la droite, au-dessus du Tardis, en regardant à travers l'écran à l'extrême droite, se trouve un rouleau de papier toilette. Au cas où je renverserais mon café ou voudrais éternuer. Pouvez-vous trouver le spinner? Vous voyez, un tas d'outils de dessin sur la gauche? Qu'en est-il de tous ces autocollants, photos et ... Et qu'en est-il du monde à l'intérieur de tous ces trous dans le placard?

La propreté et l'organisation du bureau le rendent utilisable. Je sais où sont toutes les choses. Et je sais comment y accéder. Les éléments non liés n'interfèrent pas les uns avec les autres. Il n'y a pas de dépendances inutiles.

Un petit désordre au bureau est utile. Le trouble est dû à des problèmes temporaires. Des mouches, du café, des éternuements, des gribouillis, des moments de repos, des priorités de travail changeantes, et juste des endroits communs pour ranger des choses avec lesquelles je ne sais pas quoi faire. Sans ce gâchis, il serait plus difficile pour moi d'utiliser le lieu de travail. Et la prochaine utilisation du bureau causerait à nouveau un gâchis!

Alors évidemment, je laisse un petit gâchis entrer dans mon bureau. Cette confusion résout des problèmes temporaires. Mais il est également clair que je me bats pour garder ce désordre sous contrôle. Je me bats pour la propreté du bureau. Et ce n'est pas facile!

Cette règle s'applique-t-elle au code? C'est absolument vrai! Lorsque j'écris du code, je fais de mon mieux pour le garder propre. Mais il y a aussi des petits endroits où j'enfreins les règles précisément parce que ces violations permettent de résoudre des problèmes temporaires.

Par exemple, j'essaie très fort de séparer les présentateurs des vues. Le code qui place les données sous une forme présentable ne doit pas être à côté du code qui affiche ces données à l'écran. D'un autre côté, lorsque vous essayez de faire apparaître et fonctionner correctement l'écran, il est très difficile de basculer entre deux fichiers différents. Parfois, il est logique de combiner à nouveau le code, d'obtenir tout ce qui fonctionne comme vous le souhaitez, puis de diviser à nouveau le code. Cette technique est connue sous le nom de «Mieux pire».

Dans tous les cas, je pense qu'il est logique que le code soit habitable. Nous ne devrions pas avoir honte si notre code semble un peu peuplé. D'un autre côté, nous devons nous surveiller attentivement et éviter que le trouble ne dégénère de façon incontrôlable.

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


All Articles