Clean code aneb přínos Uncle Boba do světa programování | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Clean code aneb přínos Uncle Boba do světa programování

Clean code aneb přínos Uncle Boba do světa programování

Poznej jednoho z nejvlivnějších představitelů programování a clean code

Naučením se psát kód bohužel práce programátora rozhodně nekončí. Dlouhodobým cílem každého, kdo píše v jakémkoliv programovacím jazyce, je osvojit si zásady clean code a psát svůj kód srozumitelně. Clean code je důležitý zejména pro udržení kvality a pochopení jeho funkce nejen počítačem, ale i lidmi, kteří ho budou číst.

Jednou z nejznámějších osobností a představitelů filozofie clean code je Robert C. Martin. Tomuto vývojáři ale nikdo neřekne jinak než Uncle Bob. Do oboru softwarového vývoje přinesl mnoho neocenitelných poznatků, které používají vývojáři po celém světě.

V článku ti blíže představíme Strýčka Boba, ale také se zaměříme na jeho poznatky v rámci clean codu. Na samotném závěru článku tě seznámíme se zásadami, kterými bys ses měl*a řídit, pokud chceš, aby tvůj kód byl čistý.

V krátkosti o Strýčku Bobovi

Robert C. Martin je softwarový inženýr a konzultant s více než 50 letou zkušeností v oboru. Napsal řadu knih o vývoji softwaru a je známým řečníkem a vizionářem, kterého můžeš potkat na konferencích po celém světě. Patří mezi 17 vývojářů, kteří přišli s Agilním manifestem obsahujícím 12 principů, jak by měl probíhat vývoj softwaru.

Jedním ze zásadních děl Strýčka Boba je kniha Clean code, která je mezi programátory považována za bibli. Zaměřuje se také na agilní řízení, testování kódu a jeho čitelnost, a to bez ohledu na jazyk nebo prostředí, ve kterém daný programátor pracuje.

V současné době Robert C. Martin vlastní konzultační firmu, která nese název Uncle Bob Consulting.  Skrze ni poskytuje služby jako je školení, poradenství architektury a návrhu, revizi kódu a mnoho dalšího.

Co je to clean code podle Strýčka Boba?

Podle Boba je clean code snadno čitelný, srozumitelný a dá se jednoduše upravit. Kód by měl být psán s ohledem na čtenáře, nikoliv pro potřebu počítače. Proto není na místě psát dlouhé řádky. Dobrý kód se zaměřuje především na jednotlivé funkce. Ty by měly být krátké a zaměřené na to, aby dobře dělaly jednu věc.

Pravidla pro psaní clean code

  • Slušně napsaný kód, který by se měl číst jako novinový článek. Nejzásadnější informace jsou na prvním místě a zbytečné detaily by měly být odstraněny.
  • Vyhýbání se příkazům switch, které se obtížně čtou a upravují, a proto je třeba se jim vyhnout ve prospěch polymorfismu.
  • Žádné vedlejší vlivy: Funkce by neměly mít žádné neočekávané účinky a měly by vždy vracet hodnotu.
  • Zásady DRY se má držet každá funkce. Kód má být psán tak, aby se vyhýbal případnému opakování a byl znovu použitelný.

Na komentářích v kódu záleží

Pro každého programátora je podle Boba důležité pochopit účel a správné použití komentáře v kódu. Kromě seznámení se s různými typy je třeba pochopit, v jakých případech jsou nadbytečné. Vytváří se tak zbytečný šum a je lepší udržovat zdrojový kód co možná nejkratší, aby splňoval náležitosti clean code.

Smysluplné názvy, to je oč tu běží

Pozornost je důležité věnovat i pojmenování proměnných, tříd a funkcí. Ty mají být smysluplné a navržené tak, aby se z nich dalo rozklíčovat, co daný kus kódu dělá. Díky tomu se dá vyhnout nadbytečným komentářům.

Péče o kód aneb nezapomínej na jeho revizi

Psaní kódu je jen jednou z oblastí, které se vývojáři věnují. Podle Strýčka Boba je potřeba se zaměřit i na jeho revizi a věnovat dostatek času případným návrhům úprav. Potřeba je také být otevřený zpětné vazbě, která tě i tvůj kód může posunout zase o kus dál.

Zásady clean code, kterými se vývojáři dnes řídí

Bob položil základy a definoval, co je clean code, ale jak se vše ujalo dnes, kdy se názory programátorů mohou výrazně lišit? Co pro jednoho může být čitelně napsané, pro jiného může být nepořádek. Proto existuje několik zásad pro psaní clean codu, které většina vývojářů dnes považuje za zásadní. Pojďme si je blíže představit.

Piš co možná nejjednodušeji (zásada KISS)

KISS (Keep it simple, stupid) je jednou z nejstarších zásad clean codu. Používala ji americká armáda již v 60. letech 20. století. Ta nabádá programátory, aby svůj kód psali co nejjednodušeji. Především je nutné vyhnout se zbytečným složitostem. V případě programování nikdy neexistuje jediný způsob řešení problému.

Úlohu lze vždy provést pomocí různých jazyků a formulovat ji pomocí různých příkazů. Programátoři, kteří se řídí zásadou KISS, si proto musí vždy položit otázku, zdali existuje jednodušší způsob řešení daného problému.

Zbytečně se neopakuj (zásada DRY)

DRY (Don't repeat yourself) je specifičtější verzí KISS. Podle zásady DRY by funkce v čistém kódu měly v rámci celého systému dělat pouze jednu věc. Protikladem této zásady je pak WET (We enjoy typing), kde je nadměrný až zbytečný kód, který se opakuje.

Příklad WET kódu

//Version A
let username = getUserName();
let password= getPassword();
let user = { username, password};
client.post(user).then(/*Version A*/);

//Version B
let username = getUserName();
let password= getPassword();
let user = { username, password};
client.get(user).then(/*Version B*/);

DRY kód

function getUser(){
  return {
user:getUserName();
password:getPassword();
  }
}

//Version A
client.post(getUser()).then(/*Version A*/ );

//Version B
client.get(getUser()).then(/*Version B*/);

Výše zmíněný příklad je zásadou DRY, která se v rámci clean codu používá. Uživatelské jméno a heslo jsou v kódu zmíněny dvakrát a až poté jsou specifikovány různé akce. Namísto programování obou procesů zvlášť se dají spojit dohromady v jednu funkci. Tím se WET kód s opakujícím zněním stane DRY kódem.

Odstraň, co nepotřebuješ (zásada YAGNI)

Zásada clean code YAGNI (You aren't gonna need it) vychází z následující myšlenky: vývojář by měl do kódu zavádět další funkce pouze tehdy, když je to nezbytné. YAGNI je úzce spjat s agilními metodami vývoje softwaru.

Podle principu YAGNI bys při vývoji neměl*a vycházet ze zastřešujícího konceptu, ale měl*a bys programovat softwarovou architekturu po malých krocích, díky čemuž můžeš dynamicky a individuálně reagovat na případné problémy.

Piš čitelně, ne pouze stručně

Kód musí fungovat a být srozumitelný pro počítač, který ho provádí, ale především je potřeba myslet na vývojáře a lidi, kteří s ním budou pracovat. Proto je při vývoji softwaru vždy na prvním místě čitelnost kódu než jeho stručnost. Nemá smysl psát krátce, pokud tomu ostatní vývojáři nebudou rozumět.

Co si odnést z clean codu?

V rámci programování v týmu je nezbytné držet se clean codu. Nejenže ti pomůže psát kód správně, ale také práci usnadníš svým kolegům. Jde tak o nelehký úkol, který na tebe čeká nejen v začátcích tvého programování a proto se vyplatí věnovat mu svůj čas.

Pusť si přednášku Uncle Boba na YouTube nebo se vrhni do jednoho z našich kurzů, který ti pomůže zvýšit tvé programátorské dovednosti.

Více článků
Příručka od robot_dreams s příkladem syntaxe
Kam se dnes posouvají technologické hranice robotiky?