Hallo habr
Ich mache Sie auf eine Übersetzung des Artikels "
Too Clean? " Von Robert C. Martin (Onkel Bob) aufmerksam.

Ich habe gerade einen Vortrag von
Sarah May gesehen : A
Viable Code . Das war sehr gut Ich stimme den Hauptpunkten ihrer Rede vollkommen zu. Andererseits war das Thema ihrer Rede, dass ich vorher nicht richtig überlegt hatte.
Aber bevor ich dazu komme, habe ich Nitpicking. Irgendwann in ihrer Rede kritisierte sie die Bewegung der Meister, weil sie sich zu sehr auf das Verhalten des Einzelnen und nicht auf das Verhalten des Teams konzentrierte. Leider ist dies ein falsches Merkmal der Handwerksbewegung, die sich immer darauf konzentriert hat, professionelle und ethische Teams zu bilden.
In diesem Fall ist die Idee, dass Softwaresysteme „lebenswert“ sein sollten, eine interessante Erkenntnis. Laut May muss die Organisation des Softwaresystems, um „lebenswert“ zu sein, irgendwo zwischen den Extremen des furchtbaren Durcheinanders mit Codespeichern und der antiseptischen Reinheit liegen, die auf den Seiten von Zeitschriften und Hausverkaufsbroschüren zu finden ist.
Dies ist nicht das, worüber ich vorher nachgedacht oder gesprochen habe. obwohl ich das immer schüchtern geübt habe.
Kann das System zu sauber sein? Kann man sich so sehr auf Sauberkeit konzentrieren, dass praktisch niemand im System arbeiten kann?
Hier ist ein Foto von meinem Büro heute. Was siehst du

Es ist relativ sauber. Dies ist eine klare Organisation. Sie können meinen Arbeitsplatz mit einem Laptop und zwei Bildschirmen in der Mitte sehen. Sie können meine Flugsimulationsstation auch auf der rechten Seite sehen. Es gibt Körbe, Kisten und alle üblichen organisatorischen Eigenschaften.
Aber es gibt auch ein bisschen Chaos. Neben dem Drucker, der sich ganz links befindet, befindet sich der BUG-A-SALT, der bereit ist, mit der eindringenden Fliege fertig zu werden. Rechts oben auf der Tardis späht eine Rolle Toilettenpapier durch den Bildschirm ganz rechts. Für den Fall, dass ich meinen Kaffee verschütten oder niesen möchte. Findest du den Spinner? Sehen Sie, eine Reihe von Zeichenwerkzeugen auf der linken Seite? Was ist mit all diesen Aufklebern, Fotos und ... Und was ist mit der Welt in all diesen Löchern im Schrank?
Die Sauberkeit und Organisation des Büros macht es nutzbar. Ich weiß, wo all die Dinge sind. Und ich weiß, wie ich darauf zugreifen kann. Elemente, die nichts miteinander zu tun haben, stören sich nicht. Es gibt keine unnötigen Abhängigkeiten.
Ein bisschen Chaos im Büro ist hilfreich. Die Störung ist auf vorübergehende Probleme zurückzuführen. Fliegen, Kaffee, Niesen, Kritzeleien, müßige Momente, wechselnde Arbeitsprioritäten und nur alltägliche Orte, um Dinge zu erledigen, mit denen ich nicht weiß, was ich tun soll. Ohne dieses Durcheinander wäre es schwieriger für mich, den Arbeitsplatz zu nutzen. Und die nächste Nutzung des Büros würde wieder für Chaos sorgen!
Offensichtlich lasse ich ein bisschen Unordnung in mein Büro kommen. Diese Verwirrung löst vorübergehende Probleme. Es ist aber auch klar, dass ich darum kämpfe, dieses Chaos unter Kontrolle zu halten. Ich kämpfe für die Sauberkeit des Büros. Und es ist nicht einfach!
Gilt diese Regel für Code? Das ist absolut wahr! Wenn ich Code schreibe, gebe ich mein Bestes, um ihn sauber zu halten. Es gibt aber auch kleine Stellen, an denen ich genau deshalb gegen die Regeln verstoße, weil diese Verstöße es ermöglichen, vorübergehende Probleme zu lösen.
Ich bemühe mich zum Beispiel sehr, Moderatoren von Ansichten zu trennen. Der Code, mit dem die Daten in eine anzeigbare Form gebracht werden, sollte nicht neben dem Code stehen, mit dem diese Daten auf dem Bildschirm angezeigt werden. Wenn Sie dagegen versuchen, den Bildschirm so zu gestalten, dass er korrekt aussieht und funktioniert, ist es sehr schwierig, zwischen zwei verschiedenen Dateien zu wechseln. Manchmal ist es einfach sinnvoll, den Code erneut zu kombinieren, alles so abzurufen, wie Sie es möchten, und dann den Code neu zu teilen. Diese Technik wird als "Besser Schlimmer" bezeichnet.
In jedem Fall halte ich es für sinnvoll, dass der Code lebenswert sein sollte. Wir sollten uns nicht schämen, wenn unser Code ein bisschen gefüllt aussieht. Andererseits müssen wir uns selbst sorgfältig überwachen und verhindern, dass die Störung außer Kontrolle gerät.