Programátorské cvičení III. a IV.


Vypsaná školení


Dnes budete dělat dvě cvičení naráz, protože se budou týkat téže věci: proměnných. Cílem dnešního cvičení je odstranění chyb, které možná občas děláte, když pracujete s lokálními proměnnými. Naučíte se, jak dělat prevenci těchto chyb a zpřehlednit svůj kód.

Dnešní cvičení číslo 3 je:

Určete a znejte vždy typ dat v proměnné.

Uvnitř proměnné musí být právě jeden typ a nebo null. Nikdy se nesmí stát, že by v proměnné byl „int“ nebo „string“. Pokud v proměnné držíte nějaký objekt – byť bude instancí různých tříd – musí implementovat rozhraní, podle kterého s ním budete pracovat. Pokud se objekt předává zvnějšku, rozhraní otestujte pomocí type hintingu (existuje-li odpovídající rozhraní pro daný use-case). Typ proměnné se nesmí za běhu metody změnit.

Co získáte tímto cvičením?

Lépe porozumíte svému programu. Můžete vždy zjistit, jak se bude implicitně přetypovávat. Zabráníte některým bezpečnostním chybám.

Cvičení číslo 4 je:

Všechny primitivní lokální proměnné musí být immutable. To znamená, že smí být přiřazení práve jednou. Povolená výjimka je buffer, do kterého skládáte výsledek (ať už pole nebo řetězec).

Pokaždé, když potřebujete udělat nějakou modifikaci, nikam nic nepřiřazujte a rovnou volání funkce vložte jako parametr funkce nebo si založte novou proměnnou.

Jaké chybě tím zabráníte?

Představte si dlouhou metodu (což by se nemělo dít, ale budiž):

$promenna = funkce();
// 50 radek kodu
$promenna = funkce($promenna);
// 50 radek kodu
$promenna = funkce($promenna);
// 50 radek kodu
$promenna = funkce($promenna);

Zde může dojít k té chybě, že u jedné proměnné nebudete vědět, v jakém už je stavu. Místo toho použijete postup, kdy si vždy vytvoříte novou proměnnou.

$promenna = funkce();
// 50 radek kodu
$promennaOtrimovana = funkce($promenna);
// 50 radek kodu
$promennaRozsplitovana = funkce($promennaOtrimovana);
// 50 radek kodu
$promennaZnovuSpojena = funkce($promennaRozsplitovana);

Váš kód bude mnohem čitelnější, donutí vás to zamyslet se nad tím, jak pojmenováváte své proměnné a označíte, co v nich je. I vaši kolegové snáze najdou v kódu významy jednotlivých proměnných.

Tak hurá do toho.

Kategorie

Agile
Cestování
Life Hacking
Minimalismus
Podnikání & Startupy
Použitelnost
Programování

Copyright © 2010 Jiří Knesl; 777 002 104 jiri.knesl@gmail.com RSS
Followujte mě na twitteru