Kódy štandardy pre WordPress [Sprievodca]
Dôvod, prečo máme vôbec kódovacie štandardy (nielen pre WordPress), je vytvorenie známeho prostredia pre programátorov pracovať na projekte. WordPress zahŕňa najmä širokú škálu produktov. Od samotného jadra až po témy a pluginy, je tu veľa, na čo sa môžete pozrieť - a veľa sa zamiešať.
Ak všetci formujú svoj kód rovnakým spôsobom, používajú komentáre, rovnaký štýl dokumentácie a tak ďalej, spolupráca sa stáva oveľa jednoduchšou a krivka učenia o pripojení k novému projektu nebude taká strmá.
Potreba súdržnosti v programe WordPress je zväčšená stavom, v ktorom je kódová základňa. WordPress nesleduje prísny objektovo orientovaný prístup a nepoužíva vzor MVC. Projekty, ktoré dodržiavajú usmernenia OOP a MVC bez výnimky (ako Laravel), majú konzistenciu a osvedčené postupy “pečené v” kvôli ich štruktúre.
WordPress je bohužiaľ zrelý na kódovanie špagiet, aka robiť čo chcete. Najlepšie postupy sa ťažko uplatňujú jednoducho preto, lebo produkty používajúce zlý kód môžu fungovať rovnako dobre (na povrchu).
Podľa kódovacích štandardov WordPress sa môžete dozvedieť trochu o kódexe étos WordPress, vytvoriť viac produktov kompatibilných s WordPress. ukázať komunitu, o ktorú sa zaujímate, a vy ste hovorili o kvalitnom kóde.
Viac informácií o Hongkiat.com:
- 10 najhorších nočných múrov pre vývojárov webu
- 5 dôvodov, prečo by CSS mohlo byť najťažším jazykom všetkých
- 30 Programátorov bežných reakcií, keď sa chystajú veci
Niektoré poznámky k štandardom
Normy neurčujú správne a zlé. Možno nesúhlasíte s pravidlom, napríklad by ste mali vždy používať podpery, aj keď nie sú potrebné. Účelom kódovacích noriem WordPress nie je rozhodnúť, či máte pravdu alebo nie, je to rozhodnúť, ako by sa malo robiť vo WordPress.
Normy nie sú predmetom diskusie. Použitie noriem nie je miestom na to, aby ste sa postavili proti štýlu, ktorý sa vám nepáči. Ak je niečo v normách kódovania, urobte to tak. Vývojári WordPress vás budú radi za to! To znamená, že ak nesúhlasíte s niečím tam, zvyšujete svoj hlas a necháte ľudí vedieť. Vždy je možné robiť veci lepšie, ale mali by ste zmeniť len štýl kódovania, ak to štandardy umožňujú.
Konzistencia nad análnym zadržaním. Ak ste v posledných 10% vášho projektu a práve ste zistili, že používate nesprávnu konvenciu pomenovania pre triedy, neprepínajte na polovicu. Podľa môjho osobného názoru by som radšej čítal niečo dôsledne nesprávne, než niečo, čo je niekedy správne a niekedy nie. Môžete vždy písať skript, aby ste veci zmenili naraz, alebo si prečítajte kód na konci.
Nasledujúce štandardy sú náročné! Umiestnenie ortézy na rovnakej línii ako funkcia namiesto riadku nižšie je celkom jednoduché, aj keď ste zvyknutí zasiahnuť pred vstupom. Avšak, keď potrebujete premýšľať o 100 malých pravidlách, celý proces sa stáva trochu náchylný k chybám. Napriek svojmu ťažkému postoju k dodržiavaniu noriem som rovnako vinný ako ktokoľvek iný, kto urobil chyby. Na konci dňa nesprávne odsadenie nie je neodvolateľným hriechom. Pokúste sa čo najlepšie dodržiavať všetky pravidlá, všetko sa dozviete včas.
WordPress kódovacie štandardy
Práve teraz WordPress má štyri sprievodcov, jeden pre každý hlavný používaný jazyk: PHP, HTML, Javascript a CSS. Sú súčasťou väčšieho množstva vedomostí - príručky Core Contributor Handbook. Prechádzať všetko by chvíľu trvať, tak som zdôraznil niektoré úryvky zo štyroch jazykov, ktoré som často vidí ľudí sa pokazí.
PHP
PHP je hlavným jazykom WordPress a je pomerne voľne napísaný jazyk, ktorý ho robí zrelý na reguláciu.
Brace štýly
Štartovacie podpery by mali byť vždy umiestnené na konci čiar. Súvisiace vyhlásenia by mali byť umiestnené na rovnakom riadku ako predchádzajúca uzatváracia vzpera. Toto je najlepšie demonštrovať pomocou príkladu kódu:
ak (podmienka) // urobiť niečo elseif (podmienka) // urobiť niečo iné // urobiť niečo
Veľkorysé využitie priestoru
Nie som fanúšik rozbiť kód (mám zlý zrak), takže to je ten, ktorý som chcel vynútiť. Položte medzery po čiarky, a na oboch stranách logický, porovnanie, povrázok a operátorov prideľovania, po ak, ináč Ak, pre, pre každý a prepínač vyhlásenia atď.
Je ľahšie povedať, kde by sa nemali pridávať medzery! Jediné časy, kedy by ste nemali pridávať medzery, je kedy obsadiť alebo referenčných polí.
Spomínanou výnimkou z výnimky sú polia, kde je pole poľa je premenná, v tomto prípade použite medzeru. Tento príklad by mal jasne uviesť:
funkcia my_function ($ full_array = null, $ key_1 = 4, $ key_2 = 'bar') ak (null == $ complete_array) $ final_array = $ complete_array; else $ key_1 = (celé číslo) $ key_1; $ final_array [0] = 'to'; $ final_array [$ key_1] = 'je'; $ final_array [$ kľúč_2] = 'an'; $ final_array ['last'] = 'príklad'; návrat $ final_array;
Pomenovanie konvencií
Toto môže byť ťažké zvyknúť, najmä ak prichádzate z rôznych prostredí. Stručne:
- Názvy premenných by mala byť všetky malé písmená, slová oddelené znakmi podčiarknutia
- Názvy tried by mali používať kapitalizované slová oddelené znakmi podčiarknutia. skratky by malo byť všetko veľké písmená
- konštanty by mala byť všetky veľké, podčiarknuté podčiarkami
- Názvy súborov by mala byť všetky malé písmená, oddelené pomlčkami
Yoda Podmienky
Podmienky písania opačným smerom, ako ste zvyknutí, zabránia chybám pri analýze. Vyzerá to trochu divne, ale je to lepší kód.
ak ('Daniel' === $ name) echo 'Napíšte článok, ktorý budeš';
HTML
HTML nemá toľko pravidiel, ktoré s ňou súvisia, mohol by som prísť s dosť veľa, aby som urobil veci viac modulárne. Existuje iba päť pravidiel, ktoré potrebujete vedieť pri písaní kódu HTML:
- Váš kód musí byť validovaný proti overovaciemu príkazu W3C.
- Samozatváracie značky HTML musia mať presne jeden medzerník pred lomítkom dopredu (toto je jedna osobne nenávidím, ale je to špecifikácia W3C, nie len WordPress pet peeve)
- Atribúty a značky musia byť malé. Jedinou výnimkou je, keď sú hodnoty atribútov určené na ľudskú spotrebu, v takom prípade by mali byť zadané prirodzene.
- Všetky atribúty musia mať hodnotu a musia byť kótované (písanie
nie je správne)
- Odsadenie by sa malo dosiahnuť použitím záložiek a malo by sa riadiť logickou štruktúrou.
CSS
CSS je ďalší voľne napísaný jazyk, takže je tu ešte veľa práce. Napriek tomu štandardy na kodéroch pomáhajú veľmi ľahko.
selektory
Selektory by mali byť tak kvalifikované, ako je potrebné, byť ľudsky čitateľné, mali by byť malé písmená so slovami oddelenými pomlčkami a selektory atribútov by mali používať dvojité úvodzovky. Tu je stručný príklad:
zadajte [type = "text"], zadajte [type = "password"], .name-field background: # f1f1f1;
Vlastné poradie
Štandardy uznávajú potrebu určitého osobného priestoru, pretože nepredpisujú konkrétnu objednávku pravidiel CSS. Čo oni robiť povedzme, že by ste mali nasledovať sémantickú štruktúru, ktorá dáva zmysel. Vlastnosti skupín podľa ich vzťahov alebo zoskupiť ich podľa abecedy, jednoducho ich nepíšte náhodne.
Najväčšou príčinou náhodnosti je “aj ja musím pridať maržu” a potom ju pridáte dole. Vezmite extra 0,3 sekundy a pridajte pravidlo na logické miesto.
- zobraziť
- polohovanie
- Box model
- Farby a typografia
- ostatné
.profil-modal zobrazenie: blok; pozície: absolútna; left: 100px; top: 90px; pozadie: # ff9900; farba: #fff;
Formátovanie hodnôt
Toto je jedno miesto, kde zvlášť nenávidím vidieť nezrovnalosti. Ak sa nedodržíte pokynov, je to ešte lepšie, ako niekedy vidieť medzeru pred hodnotou; niekedy nie pomocou skratky, niekedy nie; niekedy pomocou jednotiek na hodnotách 0, niekedy nie, atď.
Formátovanie hodnôt je celkom zložité príde prirodzene s určitou praxou. Pozrite sa na presný návod v kódexe na formátovanie vašich hodnôt.
Javascript
Podľa mojich skúseností je Javascript najviac náchylný na to, aby ste šli po celom svete. Zatiaľ čo mnohí vývojári poznajú značné množstvo Javascriptu, postupne sa naučili, ako dodatočný nápad pre HTML, CSS a PHP. Keď práve začínate s novým jazykom, urobíte oveľa viac chýb a ak tieto chyby nespôsobujú smrteľné chyby, môžu sa vo vás stať ingrained.
V mnohých prípadoch sa normy vzťahujú na limit či stav linky “ak linka nie je príliš dlhá”. Toto sa týka príručky štýlu jQuery, ktorá ukladá a 100-znakový limit pre linky. Sprievodca WordPress je založený na sprievodcovi jQuery, takže je dobré dať tomu aj čítanie.
bodkočiarkami
Toto je najjednoduchšie pravidlo, ale je to často prehliadané. Nikdy nikdy nevynechajte bodkočiarku len preto, že váš kód bude fungovať bez nej. Je to len nedbalé.
vrúbkovanie
Karty by sa mali vždy použiť na odsadenie. Tiež by ste mali odsadiť obsah uzáveru, aj keď obsah celého súboru je obsiahnutý v jednom. Nie som si istý, prečo sa mi, ale predtým, ako som si prečítal štandardy, mi nepočúvalo zavesenie na najvyššej úrovni.
Rozbíjajúce sa čiary
Pri rozbíjaní dlhých reťazcov vždy prerušte linku po operátorovi, nenechávajte premennú visieť okolo. Na prvý pohľad je zrejmé, že línia je zlomená a vy ste nezabudli na bodkočiarku.
Ak je podmienka dlhá, rozdelte ju na viacero riadkov a predtým ju pridajte ďalšiu kartu. Toto mi vyzerá veľmi divne, ale oddelenie, ktoré pridáva medzi stavom a telom, je veľmi viditeľné.
if (firstCondition () && secondCondition () && thirdCondition ()) var html = 'Tento riadok sa skladá z slov "+ n +", preto by mal byť rozdelený po "+" operátorovi;
Iterácia jQuery
Podľa štandardov jQuery iterácie (JQuery.each ())
by sa mali používať iba na objektoch jQuery. Mali by ste použiť základné pre, Pre / in, zatiaľ čo slučky v jazyku Javascript pre iterating nad ostatnými zbierkami.
záver
Je tu veľa na vedomie a sledovanie a nie je žiadny spôsob, ako niekto môže použiť toto všetko naraz. Mali by ste si svoj kód čo najbližšie k štandardom a pracovať na tom, aby ste ich presne dodržiavali.
Podľa môjho názoru konzistencia je najdôležitejším pravidlom. Je lepšie dôsledne robiť niečo nesprávne, než prepnúť do polovice. Platí to najmä pre postupy formátovania, pretože tieto neovplyvňujú funkčnosť vášho kódu a - z veľkej časti - môžu byť neskôr ľahko zmenené.
Nenávidíte prvok kódovacích noriem, myslíte si, že by sa malo niečo pridať? Dajte nám vedieť v komentároch!