Jak psát kód: Místo zakomentování kódu ho smažte

Školení, která pořádám

Jde o celkem běžný nešvar zachovaný pravděpodobně z dob, kdy se nepoužívaly verzovací systémy. Máme nějaký kus kódu, který už nepotřebujeme, tak ho zakomentujeme. Co když by se ještě někdy hodil. Nebo je nám ho možná líto, dali jsme si s ním tolik práce a teď bychom ho měli jednoduše smazat? Nebo už nepotřebujeme celý soubor, tak ho přesuneme na jiné místo nebo ho dokonce necháme tam, kde je, jen ho nikde nepoužijeme.

Zakomentovaný a mrtvý kód dělá zdrojáky nepřehlednější a negativně ovlivňuje nalezitelnost. Pokud je projekt verzovaný, tak je kód navěky uložený ve verzovacím systému, takže jde v případě potřeby dohledat na místě k tomu určeném.

Pokud víme, že kód budeme v blízké budoucnosti potřebovat, tak ho ve zdrojácích můžeme zakomentovaný nechat, ale měli bychom ho doprovodit TODO komentářem, třeba ve formě „Odkomentovat, až refaktorujeme třídu X.“

Co s ladícím kódem? Na různých místech si můžeme něco logovat, ale chceme to dělat jen při vývoji a nechceme tím zdržovat produkční verzi. V jazyce C se k tomu dají použít makra – vývojová verze bude logovat, co potřebujeme, produkční verze neudělá vůbec nic – ladící makra expandují na prázdný kód. PHP podobný obrat nenabízí, takže funkce se zavolá vždy (což něco stojí). Podle mého ale ladící kód do zdrojáků stejně nepatří – po odladění už by neměl být potřeba a pokud budeme v budoucnu hledat nějakou chybu, tak stejně nejspíš budeme potřebovat jiné informace.

Jakub Vrána, Dobře míněné rady, 12.6.2013, diskuse: 0 (nové: 0)

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.