Die letzte Umfrage hier war
Wie viele Leute berühren das CSS in Ihrem aktuellen Hauptprojekt?
Definiert als
- Tatsächlich erstellen und bearbeiten.
- Oder sind Sie ein aktiver Nutzer davon. Sie/er schreibt HTML und verwendet das verfügbare CSS, hat also ein Eigeninteresse am tatsächlichen CSS, nicht nur am Ergebnis.
Mein Wunsch mit dieser Umfrage war es, ein Gefühl dafür zu bekommen, wie geteilt CSS ist. Ist CSS die Art von Code, die im Allgemeinen von vielen verschiedenen Leuten angefasst und durchdacht wird? Oder ist es intimer als das?
Die Antwort: Die überwiegende Mehrheit des CSS wird von einer kleinen Anzahl von Personen bearbeitet. Hier ist die Aufschlüsselung
Sehen Sie den Pen Diagramm für Wie viele Leute berühren das CSS in Ihrem aktuellen Hauptprojekt? von Chris Coyier (@chriscoyier) auf CodePen.
Über die Hälfte der fast 32.000 von Ihnen (56 %) geben an, dass nur Sie das CSS in Ihrem Hauptprojekt berühren. Weitere 19 % sagen, dass nur zwei Personen es berühren. Das ist knapp vor kleinen Teams von 3-5 Personen mit 17 %. Mittlere Teams von 6-10 Personen machen nur 3 % aus, überraschenderweise eine etwas geringere Zahl als riesige Teams von 25+ Personen mit 4 %. Der kleinste Anteil waren große Teams von 11-25 Personen mit nur 1 %.
Anders ausgedrückt, nur etwa **drei Viertel des CSS werden nur von ein oder zwei Personen berührt.** Fügen Sie kleine Teams hinzu, und 92 % des CSS werden von 5 oder weniger Personen berührt.
Was kann man also daraus lernen? Nun, wie bei allen anonymen, nicht-wissenschaftlichen Ein-Fragen-Umfragen wahrscheinlich nicht viel. Was mich zur Umfrage motivierte, war, genau das zu erfahren, was ich gefragt habe. Wie viele von Ihnen CSS-Autoren arbeiten an den CSS-Dateien selbst zusammen und in welchem Umfang. Wenn jemand behauptet, dass CSS so geschrieben werden muss, dass jeder einspringen und arbeiten kann, wie wahr ist das? Sind Styleguides und ausführliche Kommentare eine allgemeine Best Practice oder nur manchmal angebracht? Sind Ihre seltsamen CSS-Schreibgewohnheiten in Ordnung, wenn Sie ein Einzelgänger sind? Oder werden Sie leiden? Sind teamorientierte Best Practices zu langsam?
Ich habe keine Antworten. Aber es ist interessant zu sehen, wie generell wenige Leute CSS insgesamt berühren.
Es wäre sicherlich interessant, das mit anderen Arten von Code zu vergleichen. Es gibt typischerweise viel mehr Backend-Entwickler in Unternehmen, richtig? Bedeutet das, dass die Teams größer sind und mehr Leute ihren Code anfassen? Variiert das je nach Sprache?
Morgen gibt es eine neue Umfrage.
Für mich liegt das zu einem großen Teil an der natürlichen Fähigkeit von CSS-Stilen, sich über die gesamte Website zu verteilen. CSS-Leute (besonders Gelegenheitsnutzer) sind es nicht gewohnt, in Modulen zu denken, und daher bedeutet das Berühren von Stilen, viele Dinge im Projekt zu verändern, was beängstigend und chaotisch ist.
Web Components (oder jede andere Technologie, die das Sandboxen von Stilen ermöglicht) werden uns helfen, diese Denkweise zu überwinden und CSS in Bezug auf "Komponenten" zu denken, was es viel wartungsfreundlicher macht, und daher werden mehr Leute es wagen, kühn darauf zuzugehen.
Natürlich ist das nur mein Bauchgefühl.
Ein wichtiger Kommentar, den man im Hinterkopf behalten sollte, ist der Besucherbias. Freiberufler/Auftragnehmer/Hobbyisten arbeiten mit großer Wahrscheinlichkeit zu 1-2 Personen an CSS. Meiner (offensichtlich anekdotischen) Erfahrung nach, zuerst in Agenturen und dann in Startups im Silicon Valley, waren immer viel mehr Leute beteiligt.
Agenturen haben Teams, die nacheinander oder parallel am selben Projekt arbeiten; größere Agenturen haben oft separate Teams, die alle am selben Projekt arbeiten (Team 1 macht Projekt 1, Team 2 macht Projekt 2 usw.).
Startups haben normalerweise eine Mischung aus Ingenieuren, und besonders in den frühen Tagen trägt jeder mehrere Hüte, sodass Backend-Leute CSS schreiben und Frontend-Leute Routing-Logik und Datenbankabfragen schreiben.
Das Startup, bei dem ich derzeit arbeite, hat insgesamt etwa 25 Mitarbeiter, wobei ich der dominierende Frontend-Entwickler bin, weitere 4 Ingenieure, die regelmäßig (mindestens ein paar Mal im Monat) CSS berühren, und ein Designer sowie ein Content/Marketing-Team, die weitere 6 Personen hinzufügen, die die CSS-Klassen entweder für den Styleguide (im Fall des Designers) oder bei der Erstellung von CMS-basierten Seiten nutzen.
Auch hier weiß ich, dass dies sehr anekdotisch ist und ich zur Minderheit gehöre, aber die Situation war an den letzten Orten, an denen ich gearbeitet habe, sehr ähnlich.
Ich denke, es ist wichtig, nicht nur die aktuellen Mitarbeiter an Stylesheets im Auge zu behalten, sondern auch zukünftige Teammitglieder, sei es durch die Einarbeitung neuer Mitwirkender oder jemanden, der Ihre Stelle übernimmt, nachdem Sie das Projekt verlassen haben.
Hallo Chris,
Eine ziemlich gute Umfrage, um zu verstehen, wie wichtig es ist, unsere CSS-Dateien weise und mit entsprechend sachkundigen Leuten zu verwalten..
Ich würde mir sicherlich wünschen, zu lernen, wie man CSS für Teams besser handhabbar macht, wie man gute Dokumentation schreibt... schließlich ist das eine gute Fähigkeit für jeden zukünftigen Job, richtig?
Aber ICH bin der Einzige, der den Code der sieben Websites meines Unternehmens berührt, und solange ich hier bin, haben sie nicht die Absicht, jemand anderen darin zu schulen. Ich mag BEM und SMACKS und würde sie jedem ans Herz legen, aber sie sind ziemlich teamorientiert, also habe ich sie für meine eigenen Zwecke skaliert oder erheblich modifiziert. Und ich lasse niemanden meinen SASS ansehen – es ist ein Chaos, aber es ist MEIN Chaos.
Ich würde gerne Wege lernen, effizienteren und nachhaltigeren Code für mich selbst zu schreiben, möchte aber auch gerne hier und da Dinge aufgreifen, damit der Übergang zu einem größeren Team eines Tages nicht so herausfordernd wird.
Als einziger Entwickler in einer Agentur bin ich der Einzige, der den Code berührt, aber wenn ich verrückte Dinge tue (das tun alle manchmal, oder?), versuche ich immer zu kommentieren, warum ich es getan habe und was es bewirkt.
Für die geistige Gesundheit zukünftiger Personen, die den Code berühren, und für meine eigene.
Als Freiberufler habe ich schon gesehen, wie andere Leute Mist gebaut haben, und ich hasse es wirklich, wenn man herausfinden muss, was los ist. Ich denke, egal wie groß das Projekt ist, ob nur du oder 20 Leute, Kommentare und Styleguides sind notwendig.
Ich würde sagen, Kommentare sind eine Notwendigkeit, richtig? Oder vielleicht ist das meine Programmiererseite, die spricht. Ich lasse keinen Code ohne Kommentar, es sei denn, er ist einfach und leicht zu verstehen (z. B. ein paar einfache Zeilen, die man im Kopf nachvollziehen kann).
Scheint, als wäre mein letzter Kommentar entfernt worden? Warum? War mein Kommentar zu JSLint nicht offensichtlich genug relevant?
„Wenn jemand behauptet, dass CSS so geschrieben werden muss, dass jeder einspringen und arbeiten kann, wie wahr ist das?“
Können Sie sich in 2 Jahren vorstellen und sehen, dass niemand mehr Ihr derzeitiges Ein-Mann-Armee-Projekt unterstützen und Ihren Code anfassen muss? Können Sie das mit Sicherheit sagen? Planen Sie jemals, die Website Open Source zu machen und Beiträge anzunehmen?
„Sind Styleguides und ausführliche Kommentare eine allgemeine Best Practice oder nur manchmal angebracht?“
Schreiben Sie Javascript ohne JSLint? Wenn Sie Javascript nicht ohne Styleguide oder JSLint schreiben würden, warum würden Sie CSS anders behandeln? Code ist Code. Unabhängig von der Sprache. Leute lassen ihren Python durch Pep 8 Linter laufen, Ruby-Schreiber lassen ihren Code durch RuboCop laufen. CSS sollte durch einen CSS-Linter laufen. Machen Sie einen Schritt nach vorne, keinen Schritt zurück.
„Sind Ihre seltsamen CSS-Schreibgewohnheiten in Ordnung, wenn Sie ein Einzelgänger sind?“
Siehe erster Punkt.
„Oder werden Sie leiden?“
Inkonsistenzen beißen Sie irgendwann, wenn Sie älteren Code refaktorieren oder ändern müssen.
„Sind teamorientierte Best Practices zu langsam?“
Sie sind nur langsam, wenn man darüber nachdenken muss. Wenn Sie einen konsistenten Stil verwenden und einen Linter zur Durchsetzung, werden Sie mit der Zeit nicht mehr darüber nachdenken müssen. Sie werden anfangen, besseren Code zu schreiben, indem Sie gutes Code statt schlampigem Code schreiben.
Fantastischer Kommentar! Ich werde diesen hier belassen, aber ich werde ihn verstecken, weil ich hier keine anonymen Kommentare mache. Das ist meine Community-Richtlinie.
Meiner Meinung nach sind die meisten von uns ohne GitHub gut dran, da wir CSS oder andere Dateien alleine bearbeiten. Solange Sie ein Backup-System wie Time Machine haben, können Sie große Fehler normalerweise rückgängig machen.
Außerdem frage ich mich, wer die Mehrheit der Websites erstellt? Solo-Coder, Auftragnehmer, große Agenturen? Ich würde wetten, dass die Mehrheit der Websites von Solisten und nicht von großen Agenturen erstellt wird. Ich würde auch wetten, dass die Mehrheit der Websites für Kleinunternehmen oder Einzelpersonen und nicht für große Unternehmen bestimmt ist, die eine Agentur benötigen würden.
Ich würde sagen, ich bin es. Ich sage nicht, dass mein PM es nicht kann, er macht CSS gut. Da ich das benutzerdefinierte Theme jedoch selbst geschrieben habe... bleibe ich lieber bei den Bearbeitungen einer Person, anstatt seine schmutzigen Hände überall in meinem gut formatierten Stylesheet zu haben.