20 tipů jak zlepšit Váš PHP kód

Vážení čtenáři,
dovolil jsem si zařadit článek, který jsem nazval 20 tipů na vylepšení Vašeho PHP kódu. Sice zatím nezapadá do mého seriálu o vytváření webových stránek od úplných základů až po poloprofíky, ale třeba by se nějaké takové rady mohly někomu hodit už teď. Vlastně nápad není až tak úplně můj, je to hodně zestručněný překlad jednoho anglicky psaného článku, který mě zaujal, doplněný o mé poznámky. Takže se nyní podívejme na ty tipy.

1. Funkce var_dump není nepřítel
Naopak, při ladění chyb se docela hodí. Můžete si s ní zjistit hodnotu proměnné.

2. Časomíra
Stačí na ní jednoduchá funkce.

1
 

Funkce bcsub vrací rozdíl mezi dvěma proměnnými typu string. Funkce microtime vrací čas i v milisekundách.
Jakmile máte tuto funkci, pak už stačí jen v tom samém programu zavolat (nebo uložit do externího php a includnout) funkci ZapniCasomiru(), poté umístit blok kódu, kde chcete čas počítat a nakonec si nechat zavoláním funkce VypisCas() vypsat.

3. Respektujte svůj styl

Každý programátor má svůj styl psaní. Mezera navíc či ne, komentáře víc do bloků či skoro za každým druhým příkazem a hned je to jako Váš podpis. Jedna věc je štábní kultura, ale druhá je právě Váš styl, který byste se měli snažit zachovat jednotný.

4. Dbejte na názvy proměnných

Právě názvy proměnných by měly napovídat, co se s nimi bude v programu dít. Neměly by být moc krátké ani dlouhé, neměly by se vyskytovat podobné názvy proměnných, kde každá dělá něco jiného. Někdy je dobré, když si i po delší době dokážete vybavit, co vlastně pod tím názvem skrývá.

5. Zkoumejte, nejde-li to i lépe

Často přemýšlíme nad nějakou funkcí, kterou už dávno někdo vymyslel. Nestydět se semtam zagooglit se občas vyplatí.

6. S booleanovským typem to není vždy jednoduché

Nabývají hodnot 1 (true) a 0 (false), jejich název by neměl být zavádějící a měl by mít „kladný“ význam (If jo then je dobře.. If ne then je špatně).

7. Zlozvyk Kopírovat a Vložit

Je to nešvar, který láká zkopírovat kód, kterému vůbec nerozumíme v domnění, že bude dělat to, co chceme. Pokud si kód zkopírujeme, měli bychom se nejen ujistit, zda-li tím neporušujeme nějaká autorská práva (v nejlepším případě je to opensource), ale taky vědět co a hlavně proč dělá. Pak se taky může stát, že se zkopírovaný kód vloží do stránky tam, kam vůbec nepatří.

8. Gettery a Settery

Chceme-li z neveřejných (private) proměnných udělat večejné (public), použijeme kombinaci funkcí set a get.

1
2
3
4
promenna;}
public function set_promenna($verejna) {$this->name = $verejna;}
}
?>

9. Výjimky mohou být užitečné

Nastane-li chyba, výjimka je tu od toho, aby nám jí pomohla záplatovat. Někdy to může ušetřit hezký kousek kódu. A taky je slušnost nechat dotyčnému říct, aspoň nějaký návod, proč se ta chyba stala (třeba se jí příště vyvaruje).

10. Když dva dělají totéž …

Pokud potřebujeme udělat v programu dvakrát stejnou věc (složenou z tří a více příkazů), není nic jednoduššího, než tyto příkazy dát do deklarace procedury nebo funkce a tu pak volat tolikrát, kolikrát je daný algoritmus zapotřebí. Algoritmy jsou naštěstí mimo jiné rezultativní, takže v tomto případě když dva dělají totéž, může to být ve finále totéž.

11. Kódování je důležité

A pokud se ve Vašem jazyce vyskytují atypické znaky, tím spíš. Často může změna kódování napáchat pěkný zmatek.

12. A komentáře jsou taky důležité

Většinu času stráví prý programátor tím, že luští svůj vlastní kód. A často pak nadává, že nepsal komentáře. Programátor je taky člověk a člověk je tvor zapomětlivý. A to jste ještě neslyšeli tu smutnou historku, jak jeden vážený progrmátor pracoval na velkém projektu. Měsíce, ba i roky. Poslední rok ho přejelo auto a jelikož nepsal komentáře, s kódem se nedalo dělat nic jiného, než ho smazat. To je snad ještě smutnější historka než když někdo píše program přes noc, do brzkých ranních hodin a kolem poledne se pak vzbudí a zjistí, že usnul na klávese BackSpace. Takže komentáře ano, ano?

13. Rozhranní je dar

Máme-li třídu a funkci, která vrací velmi užitečné zprávy
Takže pokaždé, když chceme vrátit nějakou hodnotu nebo zobrazit zprávu, zamyslete se nad nejlepší cestou, jak toho docílit.

14. Oficiální dokumentaci věříme především

Internet obsahuje velké množství informací, ale také velké množství dezinformací a omylů. Takže byste, tedy kromě webu ajtaci.net, měli věřit především oficiálnímu PHP manuálu http://www.php.net/manual/en/index.php

15. Buďte nezávislí

Kupříkladu jedna z dobrých věcí, co můžeme udělat je sestavit si mapu chyb a pojmenovat si je a přidat kód a popis. Nastane-li výjimka, zavoláme specifický kód chyby. Jistěže to není standardní, tak to pak musíme vysvětlit v komentářích.

16. Objektový model PHP

PHP má za sebou dlouhou dobu vývoje a nyní je již moderní propracovaný programovací jazyk včetně objektového modelu, dědičnosti, polymorfismu a všemu, co k OO patří. Jistě, kód jednoduchých prográmků se zesložití, jenže ty složitější projekty se natolik zpřehlední, že se nakonec OOP vyplatí.

17. Funkce mohou být i menší

U funkcí, u nichž je třeba hodně rolovat posuvníkem, je nasnadě otázka, zdali by se třeba nedaly rozdělit na dvě.

18. Frameworky ušetří velkou spoustu námahy

Když se s nimi naučíte kamarádit, špinavou práci udělají za Vás. Existuje jich docela dost, třeba Zend Framework, CakePHP, a spousta dalších.

19. Regulární výrazy se hodí vždycky

Nezávisle na rozsahu projektu, nezávisle na tom, jestli používáte regulární výrazy na odstranění opakujících se slov z textu, na získávání dat z RAW formátu či cokoli jiného. Regulární výrazy se zkrátka vyplatí používat.

20. Editor se zvýrazněním syntaxe a štábní kultura

Zapomeňte na psaní stránek v Poznámkovém bloku. Použijte editor, který umí zvýrazňovat syntaxi, ať už píšete v jakémkoli jazyce. A nezapomeňte dodržovat štábní kulturu a všechna zmíněná pravidla.

O Petr Fořt

Student ČVUT FJFI KSE ASI (Softwarové inženýrství v ekonomii). Zajímám se o počítače (programování, diagnostika chyb hw), hudbu. Mám rád grilování, táboráky, hraní na kytaru a srandu v dobré společnosti.