- 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:
- Vychádza z PSR-2 štandardu - namiesto "4 spaces", ale preferujeme odsadenie pomocou tabulátora
- Metódy sú v rámci triedy zoradené abecedne
- Používame komentáre v PHPDoc zápise, z ktorého sa generuje aj API dokumentácia a takto zapísané informácie dokážu využiť aj IDE / Code editory. Okrem popisu metódy zadávame najmä:
- @param - popisy a typy vstupných parametrov
https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/param.html - @return - popis a typ návratovej hodnoty
https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/return.html - @throws - akú Exception / v akom prípade môže metóda throw-nuť
https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/throws.html - @author - autor modulu / dôležitej metódy (a emailový kontakt na neho)
https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/author.html
- @param - popisy a typy vstupných parametrov
- Plne dodržiavať PSR-4 autoloading štandard !!!
- JavaScript
-
Názvoslovie a "coding-style":
- camelCase konvencia
Formátovanie a čitateľnosť kódu:
- Dodržiavať jQuery style guide
- 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
- názvy tried a ID vždy malými písmenami, v anglictine, pomlčky namiesto medzier
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.
Prázdny