Kelly Sutton hat einen Beitrag namens Deletability geschrieben und ich habe den ganzen Tag darüber nachgedacht, wie seine Ideen sich auf das Schreiben von CSS beziehen.
Durch die Arbeit mit Code sehen wir, dass Modularität und Löschbarkeit eng miteinander verbunden sind. Richtig modularisierter Code ist leicht zu löschen.
Löschbaren Code zu schreiben ist gutes Code schreiben.
Anscheinend ist dies ein gängiger Ansatz zum Schreiben von Software, obwohl ich dieses Konzept noch nie auf der Frontend-Seite gehört habe. Aber! Ich denke, es sollte ein Ziel für uns sein, das wir im Hinterkopf behalten, wenn wir Klassen benennen oder komplexe Layouts erstellen. Und nachdem ich den ganzen Tag über diese Idee nachgedacht habe, denke ich, dass Fragen wie „Kann ich diesen Code leicht wegwerfen?“ ein Maßstab dafür sein sollten, ob wir gute Arbeit beim Schreiben von CSS leisten.
Zum Beispiel habe ich vor einiger Zeit an einem Projekt gearbeitet, bei dem der Stil eines Kontrollkästchens den Stil eines anderen, völlig unabhängigen Kontrollkästchens beeinflusste. Der Code für jedes war über mehrere Dateien und Verzeichnisse verstreut, sodass Designer im Team ständig hin und her drängten und die Arbeit des anderen rückgängig machten, in einem wahnsinnigen Versuch, ihr eigenes Problem zu lösen, ohne über die weitaus größeren Probleme der Vererbung und des CSS-Designs nachzudenken. Sie bemerkten ein Problem in ihrem eigenen Teil der Anwendung, änderten das CSS und fuhren mit ihrem Leben fort. Und ich versuche nicht, ein Idiot zu sein – einige Anwendungen haben Zehntausende von Zeilen CSS und Apps können teuflisch komplex sein, daher ist es kein Wunder, dass sie dieses Problem nicht kommen sahen.
Aber wenn das ursprüngliche Design dieser Kontrollkästchen mit dem Konzept der Löschbarkeit im Hinterkopf erstellt worden wäre, glaube ich, hätten wir dieses Problem von vornherein vermieden. Die Eigenschaften line-height und font-size, Farbe und Hintergrundfarbe wären in den richtigen Dateien isoliert worden. Und so hätten wir beim Betrachten einer Datei den gesamten Code für dieses eine spezifische Element sehen können. Mit anderen Worten, das System hätte sich uns sofort klar gemacht.
Wenn wir in Zukunft große Teile unserer Codebasis ausmustern können, ohne davon unabhängige Komponenten zu beeinträchtigen, dann haben wir es verdient, ein Glas auf uns selbst zu erheben, weil wir die ganze Zeit so verdammt schlau waren.