Freitag, 3. Juli 2009

Mozilla Frontend Code Standards

In den News des Webstandards Magazin habe ich einen Verweis auf die Mozilla Frontend Code Standards gefunden.

Wirklich sinnvoll und langfristig wertvoll finde ich folgende Punkte:


  • Need to work on accessibility!
  • No inline CSS & JS unless absolutely necessary
  • Pages must validate.
  • Use most meaningful tags for content
  • Use least amount of selectors possible to allow for overriding
  • Don't use !important
  • Don't pollute the global namespace (put all functions into objects/closures)
  • Make JS reusable as best as possible.
  • Use .prototype for objects
  • var your variables
  • Follow Yahoo!'s 34 rules http://developer.yahoo.com/performance/rules.html
  • Concat and minify JS & CSS
  • Use ySlow to see where pages can be improved

Grund zur Diskussion gäben aus meiner Sicht auf jeden Fall folgende Standards (ich habe kurz angegeben, welche Probleme ich sehe):


  • Pages must validate. Not a strict requirement. Some layouts can't be achieved without a few errors. (Da kenne ich keine Layouts, die invaliden Code erzwingen würden. Für eine automatisierte Prüfung wären solche Ausnahmen ungünstig)
  • No separate stylesheets for any browser and no conditional statements. (Für Mozilla ist das vielleicht ok - für unsere Webseiten wird das noch so lange nötig sein, wie IE6 und IE7 signifikante Zugriffe generieren)
  • Specify font sizes in EMs or % (Angaben in Pixel sind sehr viel pragmatischer. Mit modernen Browser-Zoom-Techniken sollten flexible Layouts obsolet sein)
  • Standardize on jQuery? (Nö. Standardize on Qooxdoo;-))
  • Don't include JS from 3rd party domains (Leider gibt es da jede Menge Tracking-Pixel-Scripte, die das nötig machen)

Diesen Standards würde ich unter anderem folgende eher allgemeinen Punkte hinzufügen wollen:


  • Etabliere ein System zur Messung von Frontend-Metriken. Nur so bewahrst du den Überblick und findest Schwachstellen.
  • Korrigiere diese Schwachstellen kontinuierlich.
  • Etabliere Systeme zur zentralen Auslieferung aller Frontend-Ressourcen. Dadurch können Optimierungen an zentralen Punkten vorgenommen werden.
  • Modularisiere, automatisiere und vereinheitliche Frontend-Elemente und mache sie global verfügbar.
  • Dokumentiere alles und finde ein generisches System, um diese Dokumentationen zugänglich zu machen.
  • Bereinige und formatiere Deinen Code wo es geht automatisiert. Wo es nicht geht, stelle verbindliche Regeln auf.
  • Nutze Firefox-Extensions um Suchmaschinenfreundlichkeit, Zugänglichkeit und korrekte Semantik zu überprüfen.
  • Automatisiere diese Überprüfungen wenn möglich und generiere daraus Frontend-Metriken.
  • Etabliere Systeme, die dich über sämtliche Frontend-Fehler informieren (Fehlende Grafiken, fehlende Dokumente, JavaScript-Fehler, Validierungs-Fehler etc.). Nutze dazu auch die Live-Version deiner Projekte. Dort entstehen die unerwarteten Fehler.
  • Korrigiere diese Fehler kontinuierlich
  • Laß deine Systeme sämtliche unerwarteten Zustände kommunizieren. Dadurch können frühzeitig Probleme erkannt werden.
  • Mach die Ideen der Webstandards zu einem zentralen Bestandteil deiner Arbeit. Die Einhaltung dieser Standards erzeugt zusammen einen größeren Nutzen als die Summe ihrer einzelnen Bestandteile, da sich diese untereinander begünstigen und verstärken.

Trackbacks

Zoompf 2010 State Of Web Performance Report
Ich hatte den Link gestern bereits getwittert, möchte aber auch hier nochmal auf diesen interessanten Report hinweisen (es ist die Angabe einer E-Mail-Adresse nötig). Zoompf hat nicht nur die 1000 populärsten US-Websites auf typische Performance-Kriterien
Weblog: Nico Steiner - Frontend-Entwicklung und -Architektur
Aufgenommen: Aug 30, 22:41

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)
Noch keine Kommentare

Kommentar schreiben


Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA

 
 

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück Februar '12 Vorwärts
Mo Di Mi Do Fr Sa So
    1 2 3 4
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1