Style guide - konvencie pre zápis kódu v tomto projekte

Každý väčší projekt má svoj vlastný "style guide" - odporúčania, akým spôsobom písať kód v danom projekte. Projekt je prehľadnejší, ľahšie udržiavateľný a lepšie pochopiteľný, ak je všetok kód písaný konzistentným štýlom. Kód, ktorý vážne porušuje zaužívané konvencie neprejde cez review do hlavnej produkčnej verzie.
PHP

Názvoslovie a "coding-style":
 

  • Plne dodržiavať PSR-4 autoloading štandard !!!
     
  • Súbory:
    • názvy vždy malými písmenami - napr. user.php
    • v prípade viacslovných názvov bez medzier - napr. emailtemplate.php
  • Triedy:
    • pomenovanie začína vždy veľkým písmenom - napr. class User
    • každá trieda obsahuje namespace nge;
  • Metódy:
    • začínajú vždy malým písmenom - napr. Module::get();
    • v prípade viacslovných názvov camelCase konvencia - napr. Module::getByArguments()
    • interné API metódy sú public static
  • Premenné:
    • rovnako začínajú vždy malým písmenom - napr. $member
    • v prípade viacslovných názvov camelCase konvencia - napr. $defaultMember

Formátovanie a čitateľnosť kódu:
 

JavaScript

Názvoslovie a "coding-style":

  • camelCase konvencia

  

Formátovanie a čitateľnosť kódu:
 

SQL

Názvoslovie a štrúktúra:


Tabuľky:

  • Názvy tabuliek sú vždy jednotnom čísle - napr. product

  • "Hlavná" tabuľka modulu by mala mať podľa možností jednoslovný názov

  • Súvisiace a na ňu nadväzujúce tabuľky by mali mať prefix s názvom "hlavnej" tabuľky - napr. product_media

  • Obsah, ktorý sa líši v závislosti od jazyka je v tabuľke s "_nls" suffiixom - napr. product_nls
    (_nls tabuľka má okrem formátu názvu tiež povinné stĺpce "id" a "lang")

  • Viacslovné názvy tabuliek oddeľujte podtržníkom _ .
     

Stĺpce:

  • Stĺpec ktorý odkazuje cudzím kľučom na hlavnú tabuľku by mal mať názov ako hlavná tabuľka

  • Viacslovné názvy stĺpcov oddeľujte podtržníkom _ .

Indexy, kľúče a constrains:

  • Constrain primárneho kľúča označte prefixom pk_ .

  • Constrain cudzieho kľúča označte prefixom fk_ .
  • Sekvencie označte prefixom seq_ .
  • Indexy označte prefixom idx_ 


Viewy:

  • Názov vždy začína "v_" prefixom - napr. v_product
  • Rovnako ako pri tabuľkách tiež vždy v jednotnom čísle
  • Kľúčové slová SQL pri definícii viewu veľkými písmenami

     

CREATE OR REPLACE VIEW v_product_test
AS
SELECT * FROM product;
LESS

Názvy selektorov: 

  • názvy tried a ID vždy malými písmenami, v anglictine, pomlčky namiesto medzier
    (napr: .my-class, #my-id)
  • uprednostňovať používanie tried pred ID 

Štruktúra kódu:

  • každý modul v samostatnom .less súbore ( /theme/default/lib/modules/nazov-modulu.less)
  • v prípade, že daný modul podporuje funkcionalitu farebných schém, je potrebné oddeliť všetko, čo sa týka nastavenia farieb do samostatného súboru (/theme/default/lib/colors/nazov-modulu.less)
  • štýly majú byť zabalené do logických celkov (kaskád) podľa modulu a funkcie

Komplexný príklad:
(modul s podporou farebných schém, šablón a s viacerými variantami štýlov pre každú šablónu)

@import "../functions";

.product-listing {
    &.template-default {
        &.style-default {
            // "default" styly pre template "default"
        }
        &.style-clean {
            // "default" styly pre template "default"
        }
     }
    &.template-masonry {
        &.style-default {
            // "default" styly pre template "masonry"
        }
        &.style-clean {
            // "clean" styly pre template "masonry"
        }
     }
}
.color-scheme(@pageColor, @textColor, @primaryColor, @secondaryColor, @auxiliaryColor, @tertiaryColor) {

.product-listing {
    &.template-default {
        &.style-default {
            // "default" styly pre template "default"
        }
        &.style-clean {
            // "default" styly pre template "default"
        }
     }
    &.template-masonry {
        &.style-default {
            // "default" styly pre template "masonry"
        }
        &.style-clean {
            // "clean" styly pre template "masonry"
        }
     }
}

}

Formátovanie a čitateľnosť kódu: 

  • každá property na samostatnom riadku
  • používať LESS mixiny pre opakujúce sa patterny
Značky článkov
# style # guidelines # konvencie # kod # formatovanie # php # js

Mohlo by Vás zaujímať:

Nasadenie heureky

Vytvorenie konkrétnych cien na časové obdobie

Eshop so skladom / bez skladu

Captcha - neviditeľná

Komentáre a hodnotenia

Prázdny