PHP (62) - Rozsáhlejší projekty 3.
Jak se neztratit v proměnných, konstantách, souborech, třídách a projektech. Jde to vůbec?
29.10.2004 15:00 |
Petr Zajíc
| Články autora
| přečteno 33318×
Dnes budeme pokračovat zcela v duchu minulých dvou dílů a rozebereme
si další způsoby, jak se neztratit při psaní nějakého rozsáhlejšího
projektu. Nebudou to věci překvapivě nové, ale věci překvapivě účinné,
pokud se rozhodnete řídit se jimi.
Komentáře
Kvalitní kód je zcela vždy dokumentovaný kód. Paradoxně zjistíte, že
když budete programovat delší dobu, budete psát spíše více komentářů
než méně. To proto, že zralí programátoři jsou si vědomi potřebného
psaní komentářů velmi dobře (věřte mi, každý z nich totiž zažil fázi,
kdy se nevyznal ani ve svém vlastním projektu). Co by měly správné
komentáře obsahovat?
- U funkcí okomentujte, co musí být splněno, aby vracela to, co má.
Mohou to být "vnější" vlivy, jako je existující připojení k databázi,
existující rozšíření PHP a kdovíco ještě.
- U funkcí okomentujte vstupní parametry. Měl by mít parametr
nějaký konkrétní typ? Hodnotu? Hodnotu z nějakého rozsahu? Napište si
to. Později to zcela jistě oceníte.
- U funkcí okomentujte hodnoty, které může vrátit, a jejich význam.
Je hrozné mít funkci, která sice dělá to, co by měla, ale nikdo neví,
proč to bylo potřeba.
- U tříd nějak okomentujte parametry. Snažte se rozlišit veřejné a
privátní členy, protože PHP je v tom dosti benevolentní.
- V těle programu komentujte kód vždy, když je principiálně
nepřehledný. Usnandí vám to orientaci.
- Pokud jste nějakou část kódu přepsali, je lepší tu původní
zakomentovat než odstranit. Později se Vám může stará verze hodit.
Pozn.: Ten poslední bod by se měl brát s
rezervou. Stejnou, ne-li lepší službu pro nás udělají systémy pro
správu zdrojových kódů. Ještě o nich bude řeč.
Někteří programátoři doporučují do poznámek psát rovněž datumy, kdy
se kód upravoval a některé další věci. Je to diskutabilní. Pokud je to
pro Vás přínosné, udělejte to.
Ještě pro doplnění: Některé čtenáře nadzvedlo, že jsem v předchozím
díle komentoval činnost procedury v jejím těle a ne před jejím
začátkem. Uvědomte si ale, že je mnohem důležitější to, zda komentáře máte než to, kde je máte. Budete-li chtít
přístup k psaní komentářů nějak unifikovat, mohou rozhodnout
následující činitele:
- Vaše zvyky
- To, zda se chcete nebo musíte řídit nějakými konvencemi
(například firemními)
- To, zda chcete nebo musíte používat nějaké nástroje pro
automatizovanou dokumentaci
Typové konvence
Už o tom rovněž byla řeč. Měli byste si zavést a dodržovat určitý
pořádek v názvech proměnných, funkcí, tříd, konstant a souborů. Náhledů
jak to dělat správně je mnoho. Pamatujte si, že většinou se budete na
linuxovém prostředí setkávat s tím, že na velikosti písmen bude
záležet, takže s tím počítejte. Někdo například názvy všech souborů
píše s malými písmeny.
Určitý systém lze vnést i do proměnných. Praktické je, když je z
názvu proměnné poznat k čemu slouží (nebo dokonce jaký je její datový
typ). Srovnejte, prosím, následující dva řádky kódu (třeba přitom
můžete zavzpomínat na školní léta):
<?
$c=$z*$p;
?>
anebo je čitelnější toto?
<?
$dblCast=$intZaklad*$dblPocet_procent;
?>
Samozřejmě, se vzrůstající náročností kódu oceníte takovou čitelnost
ještě více. Hodně se dá napravit rovněž vhodným zavedením konstant a
logickými názvy souborů. Porovnejte, prosím, následující dva fragmenty
kódu:
<?
if ($err==1):
require ("file.php");
elseif ($err==2):
require ("file2.php");
elseif ($err==3):
require ("file3.php");
endif;
?>
anebo
<?
define ("ERR_NO_FILE", 1);
define ("ERR_EMPTY_FILE", 2);
define ("ERR_CANT_WRITE", 3);
if ($err==ERR_NO_FILE):
require ("nofile.php");
elseif ($err==ERR_EMPTY_FILE):
require ("emptyfile.php");
elseif ($err==ERR_CANT_WRITE):
require ("cantwrite.php");
endif;
?>
Ačkoli oba kousky kódu dělají v podstatě totéž - ke kterému z nich
byste se raději vraceli a luštili, co se v něm vlastně děje?
Organizace projektu
Mám na mysli organizaci kódu do souborů a složek operačního systému.
Tady je každá rada drahá. U jednodušších věcí asi vystačíte s tím, že
můžete všechny skripty umístit do kořenové složky webu, u složitějších
projektů se vyplatí nějak zorganizovat složky. Například bývá často k
vidění uspořádání, kde soubory začlenění jsou v samostatné složce, v
jiné složce soubory pro import/export a podobně. Pozor pak musíte dávat
při vkládání soubrů pomocí include(require), protože vyžadují správné
uvádění cest. Můžete v zásadě použít dvě metody - uvádět relativně od
existujícího dokumentu a uvádět relativně od kořenové složky webu.
Obojí má své pro a proti, ale příliš se nevyplácí to míchat:
<?
require ("./inc/somefile.php");
?>
a ten druhý způsob
<?
require ($_SERVER["DOCUMENT_ROOT"]."/inc/somefile.php");
?>
Pochopitelně, můžete mít nějaký vlastní systém. Ale ve větším
projektu se vkládání souborů prakticky nevyhnete, takže se s tím budete
muset nakonec nějak popasovat.
Dokumentace
Konečně, každý projekt by měl mít nějakou dokumentaci. Nemluvím teď
o dokumentaci k vlastní aplikaci, ale o technické specifikaci
jednotlivých funkcí a procedur. Tady se vývojáři dělí na několik typů:
- na ty, kteří to nepíší vůbec
- na ty, kteří to píší částečně nebo jen u větších věcí
- a na ty, kteří to dělají ze zvyku a poměrně pravidelně
Zejména těmu ukázněným pak mohou pomocí nástroje typu phpDocumentor. My se spokojíme
s tvrzením, že by se to dělat mělo a v dalším díle se podívame na to,
jak si při vývoji pomoci cizími kódy, nástroji pro správu zdrojových
kódů a několika programovacími triky.
Verze pro tisk
|
Nejsou žádné diskuzní příspěvky u dané položky.
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|