Eine Linie im Sand, eine Geschichte über fleischiges Chili und die Verwendung von Klassen

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Während meines Studiums habe ich in einer Bar gearbeitet. Die Bar hatte eine kleine Küche und servierte typisches amerikanisches Bar-Essen: Burger, Flügel und Suppe. Wir hatten zwei Suppen, eine wechselte, eine war immer Chili. Wir haben das Chili jede Woche selbst gemacht. Manchmal waren wir ausverkauft, manchmal hatten wir am Ende der Woche Chili übrig. Wenn etwas übrig war, haben wir es entweder weggeworfen oder mit nach Hause genommen. Es war immer noch perfekt zum Essen, aber es war keine gute Politik, wochenaltes Chili in einem Restaurant zu verkaufen.

Ich habe mit einem Freund in dieser Bar gearbeitet. Er war Vegetarier. Er war kein Vegetarier aus Geschmacks- oder persönlichen Gesundheitsgründen, sondern aus Gründen der globalen Nachhaltigkeit. Das Chili enthielt Fleisch. Also normalerweise nichts für meinen Freund.

Eines bestimmten Wochenendes, als das Ende der Woche nahte, hatten wir Chili übrig. Mein Freund arbeitete. Er konnte diesen Topf Chili in den Abfluss schütten oder er konnte ihn mit nach Hause nehmen. Nun, wenn man Vegetarier ist und dies nur aus Gründen der globalen Nachhaltigkeit tut, dann ist die richtige Wahl sicherlich, das Chili mit nach Hause zu nehmen und zu essen. Lebensmittel wegzuwerfen und etwas anderes zu konsumieren ist verschwenderisch.

Ja, er konnte es für mich mit nach Hause nehmen oder zu seiner Großmutter bringen. Wir könnten uns 100 alternative Wege für dieses Chili ausdenken, aber bleiben wir bei der Analogie – es kommt vor, dass persönliche Ideale durch praktische Erwägungen herausgefordert werden. Manchmal hat es mit Chili zu tun.

Als dieses Dilemma mit meinem Freund besprochen wurde, fand ich seine Argumentation für sein Nicht-Essen des Chilis gut. Er sagte: „Es geht darum, eine Linie im Sand zu ziehen.“ Höchstwahrscheinlich bezog er sich auf The Big Lebowski, aber er machte einen guten Punkt.

Hier geht es nicht um einen Topf Chili und einen Typen in einer Bar. Es geht darum, langfristig und für das größere Wohl keine Kompromisse einzugehen. Vielleicht macht die Bar beim nächsten Mal Chili, macht etwas weniger oder kleinere Portionen aufgrund des bekannten Abfalls. Vielleicht wird bei der nächsten Überarbeitung der Speisekarte weniger fleischhaltiges angeboten, weil wir wissen, dass es kompromisslose Vegetarier wie meinen Freund gibt, die auch viel Zeit in Bars verbringen. Wenn diese Haltung zum Standard wird, geht es um Millionen von Töpfen Chili und eine veränderte Welt.

Richtig, also, HTML-Klassen.

Sie wissen, dass es generell am besten ist, mit Klassen zu stylen, richtig? Das ist, was OOCSS und SMACSS und moderne Schriften über CSS lehren. Nicht nur „Klassen clever nutzen“, sondern auch „IDs nicht nutzen“. CSS Lint wirft Ihnen sogar eine Warnung entgegen, wenn Sie IDs in Selektoren verwenden. Was? Wirklich? Eine _Fehlermeldung_ für das Schreiben eines völlig gültigen Selektors?

Ja, wirklich. IDs sind unendlich spezifischer als Klassen. Naja, fast. Das ist so stark, dass es in CSS schnell außer Kontrolle geraten kann. Ja, es kann eine schnelle, einfache, mächtige Überschreibung sein, aber wie überschreiben Sie das dann? (Wer überwacht die Wächter?) Wenn Sie mit sich selbst (und Ihrem Team) vereinbaren, sie niemals zu verwenden, geraten Sie nicht in diese Wettrüsten. Diese Überschreibungsprobleme können immer anders gelöst werden – durch Code-Refactoring, Verschachtelung einer Klasse oder etwas Ruhigeres und Intelligenteres.

Viele kluge Leute sind anderer Meinung (siehe Kommentar-Thread in einem anderen Beitrag). Aber für mich läuft das wieder darauf hinaus, eine _Linie im Sand zu ziehen_. Ich werde keine IDs zum Stylen von Dingen verwenden. Kein Kompromiss. Selbst wenn eine ID wie eine kurzfristige Ersparnis erscheinen mag, sind die langfristigen Vorteile, sie niemals zu verwenden, größer.

Eines Tages habe ich einfach beschlossen, meine eigene Linie im Sand zu ziehen, und seitdem style ich nicht mehr mit einer ID. Ab und zu mag es sich widersinnig anfühlen, aber insgesamt habe ich das Gefühl, dass es meine Arbeit verbessert hat.