Egoblog.cz - Petr Kobelka

Code review nejen pro PHP

V rámci učení se nových postupů jsem se dostal i k tomu dělat pro kolegy code review jejich práce. Jedna z věcí, které pomáhají jsou Code smels card.


PHP | Komentáře (0) | Shlédnuto 1203 × | Vloženo: 18. února 2016

Code smels card můžete použít v případě, kdy děláte code review. Pomůže vám to projít nejčastější nešvary při programování a vizuálně sjednotit tak kód do podoby, kteá bude shodně čitelná pro všechny aktéry. Samozřejmě code review není jen o vizuální stránce kódu, primární je dle mého názoru funkčnost a architektura návrhu.

Výhodou těchto karae je, že jsou programing language independent. Více či méně je můžete využít v každém programovacím jazyku od PHP, Pythonu až po Java, C#, Lisp a další,

Co jsou code smells cards

Jde o balík karet, kde každá z nich popisuje jednu oblast, kde se obvykle dělají chyby a pomáhá tím tyto chyby idenfitikovat a pojmenovat tak, aby je ten, komu code review děláte, dokázal odstranit, nebo opravit. Množství použitelných karet závisí jen na vás a vaší definici, co vše chcete v rámci code review dělat. Zajímavý rychlý souhr najdete např. na této URL adrese https://quizlet.com/201301/refactoring-code-smells-flash-cards/ (článek je v angličtině). Osobně tu vyzvdvihnu jen několik málo, dle méno názoru nejčastěji používaných oblastí.

Img source: http://www.qwan.eu/en/shop - zde můžete karty koupit

Duplicate code - duplicitní kód

Osobně se mi občas taky podaří nějaký duplicitní kód vygenerovat. Je to ale jen o lenosti. Pokud narazíte na opakující se kód, je vhodné jeho provádění vyčlenit do samostatné metody, nebo dokonce do samostatné třídy. Zde záleží na osobním posouzení daného problému. Duplicitou kódu se také zabývá princip DRY (wikipedia.org).

Long Parameter List - příliš mnoho parametrů

Metoda, která má 15 různých paramerů je již špatně čitelná a nejspíš bude muset být uvnitř i pěkně složitá, zvláště, pokud některé parametry jsou nepovinné. Jde o balast, který je třeba refactorova. Ideální je vyčlenění obsahu do samostatné metody a nejpíš i třídy, nebo je mož né metodu rozbít do několika kroků. Je nutné mít na mysli, že jedna metoda má dělat právě jednu úlohu. Nic víc a nic míň.

Long switch - switch s mnoha případy

Tohle se může zdát na první pohled korektní, ale opak je rpavdou. Hodně větvíte, to znamená, že je nejspíš špatný návrh. V tuto chvíli můžete krásně využít polymorfismus, kter rozbije složitý switch do několika výkoných tříd, které si blasti problému a jeho řešení logicky rozdělí.

 

Určitě je mnoho a mnoho dalších zajímavých oblastí. Doporučuji si přečíst článek, který jsem referoval jako první. V případě dalšího zájmu pak můžete googlit a najdete hodně dalších infomračních zdrojů. Pokud máte nějaké dotazy, nebo komentáře, nebjte se  ně podělit formulářem níže.

Podobné články jako "Code review nejen pro PHP"

Petr Kobelka | Egoblog.cz | Tvorba www stránek - www.petrkobelka.cz

Petr Kobelka
Autor je zkušeným web developerem a programátorem s více než 10 letými zkušenostmi. Pracuje jako programátor pro známou Olomouckou společnost zabývající se tvorbou internetových a intranetových řešení. Spolu se zaměstnáním pracuje na volné noze a zabývá se tvorbou internetových stránek. Ve volném čase rád fotí, jezdí na kole, plave a cestuje.

Komentáře

E-mail je potřeba pouze pro vygenerování Gravataru!

Oups, žádné komentáře? Buďtě první !!!

Blog píše Petr Kobelka

Petr Kobelka - egoblog.cz

Žádám všechny, kteří mají zájem vkládat komentáře, aby se řídili pravidly NETikety. Komentáře, porušující tato pravidla můžou být bez varování smazány.