1. Programmierstandards

1.1 Projektstruktur
---/html/ |---- /index |---- /index/index.html 首页 |---- /user/ 与用户相关的页面 |---- /user/login.html 登录页 ---/css/ |---- /base.css 重置浏览器样式 |---- /page 逻辑页面的css |---- /page/pagename.css 单独书写的css |---- /common.css css通用样式库 ---/js/ |---- /lib 公用组件 |---- /lib/jquery.2.2.3.min.js 调用jq库文件 |---- /page 逻辑页面的js |---- /page/pagename.js 单独书写的js |---- /common.js 公用方法 ---/img/ |---- /page 页面对应的图片 |---- /page/wap 手机端图片夹 |---- /page/wap/wap_icon.png 手机端图标 |---- /logo.png 公用图片
1.2 Namenskonventionen für Projekte
Projekt: Benennen Sie es mit dem entsprechenden englischen Wort für das Projekt
Dateien und Ordner:
- Nur englische Kleinbuchstaben und Bindestriche (Mittelstriche) sind erlaubt, keine anderen Zeichen dürfen vorkommen, z. B. login, my-order
- Aus `/lib` aufgerufene Dateien müssen eine Versionsnummer enthalten, komprimierte Dateien müssen das Schlüsselwort `min` enthalten, andere Plugins dürfen es weglassen, z. B. `/lib/jquery.1.9.1.js`
1.3 Format & Kodierung
- Textdateien: `.xxx` UTF-8_(ohne BOM)_-Kodierung
- Bilddateien: `.png` _(PNG-24)_ `.jpg` _(Kompressionsrate 8-12)_
- Animierte Bilder: `.gif`
- Komprimierte Dateien: `.tar.gz` `.zip` `.rar`
2. CSS-Standards
2.1 CSS-Namenskonventionen
- Alle Namen sollten englische Wörter in Kleinbuchstaben verwenden
- Verwenden Sie keine einfachen Richtungswörter direkt als Namen, wie "left", "bottom"
- Kürzen Sie Wörter nicht ab, es sei denn, sie sind unmittelbar verständlich
- Lange Namen oder Ausdrücke können Unterstriche als Verbindungszeichen verwenden
- Vermeiden Sie übermäßige Selektor-Verschachtelungsebenen; bleiben Sie unter 3 Ebenen
- Verwenden Sie IDs nicht willkürlich; IDs sollten nach Bedarf verwendet und nicht übermäßig eingesetzt werden
- Verwenden Sie CSS-Kurzschreibweisen wie padding:0 10px 5px 5px usw. Dies vereinfacht den Code und verbessert das Leseerlebnis des Benutzers.
Die Namensreferenz ist wie folgt:
| CSS-Stilbenennung | Beschreibung |
|---|---|
| Übliche Webseiten-Benennung | |
| wrapper | Äußerer Seiten-Wrapper, der die Gesamtlayoutbreite steuert |
| Container oder Inhalt | Container, verwendet für die äußerste Ebene |
| layout | Layout |
| head, header | Header-Bereich |
| foot, footer | Footer-Bereich |
| nav | Hauptnavigation |
| sub_nav | Sekundäre Navigation |
| menu | Menü |
| sub_menu | Untermenü |
| side_bar | Seitenleiste |
| sidebar_l, sidebar_r | Linke Seitenleiste oder rechte Seitenleiste |
| main | Hauptteil der Seite |
| -Tag hinzu | Tag |
| msg Nachricht | Prompt-/Tipp-Nachricht |
| Tipps | Tipps/Tricks |
| Abstimmung | Abstimmung |
| friendlink | Freundschaftslinks |
| title | Title |
| summary | Zusammenfassung/Abstract |
| login_bar | Anmeldeleiste |
| search_input | Sucheingabefeld |
| hot | Beliebte Themen/Trends |
| search | Suche |
| search_output | Die Suchausgabe ähnelt den Suchergebnissen |
| search_bar | Suchleiste |
| search_results | Suchergebnisse |
| Copyright | Copyright-Informationen |
| branding | Warenzeichen |
| logo | Website-Logo |
| site_info | Website-Informationen |
| site_info_legal | Impressum |
| site_info_credits | Glaubwürdigkeit/Vertrauen |
| join_us | Mach mit |
| partner | Partner |
| service | Dienste |
| registrieren | Registrierung |
| arr arrow | Pfeil |
| Gilde | Anleitung |
| site_map | Sitemap |
| Liste | Liste |
| home_page | Startseite |
| sub_page | Sekundär-/Unterseiten |
| Werkzeug, Symbolleiste | Symbolleiste |
| drop | Dropdown |
| dorp_menu | Dropdown-Menü |
| status | Status |
| scroll | Scrollen |
| tab | Tab-Seite |
| links rechts zentriert | Links, zentriert, rechts ausrichten |
| news | Neuigkeiten |
| download | Herunterladen |
| Banner | Banner (obere Bannerwerbung) |
2.2 CSS-Schreibstandards
Befolgen Sie die Richtlinie "keine IDs, keine Verschachtelungsebenen, keine Tags", um die Wiederverwendbarkeit effektiv zu verbessern, die Dateigröße zu reduzieren und die Rendering-Effizienz zu verbessern
2.3 CSS-Kommentarformat
Kommentare zur Unterscheidung von Seiten, z. B. /******************************************Produktcenter****************************************/
Modulkommentare, z. B. /*Homepage-Navigationsleiste*/
2.4 Reihenfolge der CSS-Eigenschaften: Nicht streng erforderlich
- Positionierung (z. B. position, top, z-index)
- Box-Modell (z. B. display, box-sizing, width, border)
- Typografisch (z. B. font, line-height, text-align)
- Visuell (z. B. background, color, opacity)
- Sonstiges (z. B. cursor)
Da Positionierung Elemente aus dem normalen Dokumentfluss entfernen und auch boxmodellbezogene Stile überschreiben kann, wird sie an erster Stelle platziert. Das Box-Modell bestimmt Größe und Position der Komponente, daher wird es an zweiter Stelle platziert. Andere Eigenschaften wirken sich nur auf das Innere der Komponente aus oder beeinflussen die ersten beiden Gruppen von Eigenschaften nicht, daher werden sie zuletzt platziert.
2.5 CSS-Formatierung
In einem nicht umbrechenden Stil schreiben, um die Schreibgeschwindigkeit zu erhöhen
.box{background: none repeat scroll 0 0 transparent;bottom: 11px;position: relative;width: 22px;z-index: 33;}
2.6 CSS-Schriftmaßeinheiten
- px ist ein Pixel (Pixel), eine relative Längeneinheit. Das Pixel px ist relativ zur Bildschirmauflösung des Monitors.
- em ist eine relative Längeneinheit. Sie ist relativ zur Schriftgröße des Textes innerhalb des aktuellen Objekts. Wenn die Schriftgröße des aktuellen Inline-Textes nicht manuell festgelegt wurde, ist sie relativ zur Standard-Schriftgröße des Browsers.
- rem ist ebenfalls eine relative Längeneinheit, aber sie ist nur relativ zum HTML-Wurzelelement.
- vw repräsentiert 1% der Viewport-Breite. Wenn die Viewport-Breite 1000px beträgt, dann ist 50vw = 500px
- vh repräsentiert einen Prozentsatz der Viewport-Höhe. Wenn die Viewport-Höhe 800px beträgt, dann ist 50vh = 400px
- Hinweise für die Verwendung in Firmenprojekten: Bestehende Projekte verwenden alle px als Einheit. Es wird jetzt empfohlen, rem, vw, vh als Einheiten zu verwenden
3. JS-Standards
3.1 JS-Namenskonventionen
3.1.1 Benennung von JS-Variablen
Benennungsmethode: Lower Camel Case
Namenskonvention: Das Präfix sollte ein Substantiv sein. (Funktionsnamen haben Verbpräfixe, um Funktionen von Variablen zu unterscheiden)
Benennungsvorschlag: Versuchen Sie, den Typ im Variablennamen widerzuspiegeln, z. B. length, count usw. für Zahlentypen; und Namen, die name, title enthalten, für String-Typen.
Beispiel
// 好的命名方式 var maxCount = 10; var tableTitle = 'LoginTable'; // 不好的命名方式 var setCount = 10; var getTitle = 'LoginTable';
3.1.2 Benennung von JS-Funktionen
Benennungsmethode: Lower Camel Case
Namenskonvention: Das Präfix sollte ein Verb sein
Benennungsvorschlag: Übliche Verbkonventionen können verwendet werden
| Verb | Bedeutung | Rückgabewert |
| can | Bestimmt, ob eine Aktion ausgeführt werden kann (Berechtigung) | Die Funktion gibt einen booleschen Wert zurück. true: ausführbar; false: nicht ausführbar |
| has | Bestimmt, ob ein bestimmter Wert enthalten ist | Die Funktion gibt einen booleschen Wert zurück. true: enthält diesen Wert; false: enthält diesen Wert nicht |
| ist | Bestimmt, ob es ein bestimmter Wert ist | Die Funktion gibt einen booleschen Wert zurück. true: es ist ein bestimmter Wert; false: es ist kein bestimmter Wert |
| get | Ruft einen bestimmten Wert ab | Die Funktion gibt einen nicht-booleschen Wert zurück |
| set | Setzt einen bestimmten Wert | Kein Rückgabewert, gibt zurück, ob das Setzen erfolgreich war, oder gibt ein verkettbares Objekt zurück |
| load | Lädt einige Daten | Kein Rückgabewert oder gibt das Ergebnis zurück, ob das Laden abgeschlossen ist |
3.1.3 Benennung von JS-Konstanten
Benennungsmethode: Nur Großbuchstaben
Benennungskonvention: Zur Benennung Großbuchstaben und Unterstriche kombiniert verwenden; Unterstriche werden zur Trennung von Wörtern verwendet
Beispiel
var MAX_COUNT = 10; var URL = 'http://www.example.com';
3.1.4 Benennung von JS-Dateien
Verwenden Sie Bindestriche (-) oder Punkte (.) als Trennzeichen; Punkte werden empfohlen. Verwenden Sie vorzugsweise englische Kleinbuchstaben; verwenden Sie weder andere Symbole noch erweiterte Zeichen. Beispielsweise kann die Quelldatei von jQuery UI 1.9.0 "jquery-ui-1.9.0.js" genannt werden
Verwenden Sie die Erweiterung .js, die die beste Kompatibilität bietet. Tatsächlich funktioniert jede Erweiterung, solange sie vom Typ Text ist und korrekt kodiert wurde.
Verwenden Sie Punkte, um untergeordnete Beziehungen in Namen anzugeben, wobei der größere Geltungsbereich zuerst steht. Beispielsweise kann das Formular-Plugin Form von jQuery jquery.form.js genannt werden.
3.2 JS-Kommentarformat
Verwenden Sie mehrzeilige Kommentare, beginnend mit /* und endend mit */
3.3 JS-Hinweise
Formatierung
- JS-Einrückung bei Zeilenumbrüchen: Tab verwenden (auf 4 Leerzeichen erweitert)
- Zeilen mit einem Semikolon `;` beenden
Leistung
- Verwenden Sie möglichst lokale Variablen statt globaler Variablen
- Verwenden Sie möglichst den Verkettungsstil
- Minimieren Sie DOM-Aufrufe
- Platzieren Sie JS-Skripte am Ende der Seite
- Verwenden Sie jQuery's data zum Speichern und Abrufen von Daten, um DOM-Operationen zu reduzieren
- Verwenden Sie die on-Methode zum Binden von Ereignissen; dies ist die von jQuery empfohlene Vorgehensweise
- Selektorwahl: Verwenden Sie möglichst keine Tag-Selektoren; wenn ein ID-Selektor verwendet werden kann, verwenden Sie keinen Klassen-Selektor
4. HTML-Standards
4.1 Standards für die Tag-Verwendung
Minimieren Sie die Tag-Hierarchie
Doppelte Tags müssen geschlossen werden; einzelne Tags werden mit einem Schrägstrich geschlossen
Die erste Zeile von HTML sollte einheitlich den HTML5-Standard <!DOCTYPE html> verwenden
Verwenden Sie für Tags einheitlich das Format mit abschließendem Schrägstrich: `<br />` `<hr />` beachten Sie das Leerzeichen dazwischen
Vermeiden Sie veraltete Tags wie: `<font>` `<frame>` `<s>`
Standardformat des `<img>`-Tags: `<img src="../index.html" alt="DefaultwhentextCharacter" />`
Standardformat des `<a>`-Tags: `<a href="../index.html" title="LinksName">xxx</>` Hinweis: `target="_blank"` hängt von den Anforderungen ab
Bei style, link, script kann das type-Attribut weggelassen werden, da text/css bzw. text/javascript ihre jeweiligen Standardwerte sind
4.2 HTML-Kommentare
<!--内容--> <div class="content"> <p>content</p> </div>
4.3 Hinweise
Versuchen Sie bei mobilen responsiven Layouts, flexible Layouts statt Prozentangaben zu verwenden
`css`-Dateien sollten alle im head platziert werden
Einrückung bei HTML-Zeilenumbrüchen: Tabulatorzeichen verwenden
Andere Effekt-`js`- und `statistics code`-Dateien sollten am Ende platziert werden
Mobile Seiten sollten bei 750px entworfen werden, mit Anzeigeeffekten bei 375px
5. Bildstandards
5.1 Bildstandards
Bildgröße: Beim Slicen von Bildern das Webformat verwenden, um die Dateigröße zu reduzieren
Bildabmessungen: immer ganze Zahlen verwenden, z. B. 20X20, 50X50
Bildzusammenführung: Kleine Bilder müssen zusammengeführt werden, und die entsprechenden PSD-Dateien sollten für spätere Änderungen gespeichert werden
Originallink: https://lingdianit-com.github.io/Front-End-Standards/