Nejdůležitější pravidlo při vývoji software

Programming-Lang-ToKnow-Header-1Poslední dobou hodně přemýšlím nad tím, co je vlastně při programování a návrhu aplikací nejdůležitější. Co odlišuje dobře napsaný kód od špatného. Pokud se v oboru už nějaký ten pátek pohybujete, určitě víte, že programování není o tom „aby to fungovalo“. Programování je kreativní činnost – „umění“, stejně jako malování nebo vaření. A stejně jako je to s vařením, oběd který se dá sníst dokáže krom BIO manželky uvařit téměř každý. Ale aby to byla opravdová pecka, taková kterou si užijete a za kterou jste ochotni znovu zaplatit, na to už je potřeba roky praxe nebo nadání, nebo ještě lépe, oboje.

Za svou kariéru jsem pracoval na mnoho projektech a s mnoha lidmi. Čím jsem byl starší, tím se můj názor na to co je při programování opravdu důležité měnil a utvářel. Práce programátora je neustálé učení a zdokonalování.

První roky programování byly v duchu „aby to fungovalo“. Bylo pro mě obrovské zadostiučinění, když jsem splnil úkol. Časem to ale přestalo stačit. Začalo mi více záležet na tom jak věci dělám. Začal jsem si všímat a budovat různá pravidla, díky kterým se aplikace stávali stabilnější a kód čitelnější. A tak jsem se dostal k čistému kódu.

Čistý kód mě fascinoval. Myšlenka, kdy se kód čte stejně dobře jako kniha se stala mojí mantrou. Snažil jsem se striktně dodržovat všechna pravidla, urputně vracel všechna code review, hltal přednášky strýčka Boba (Uncle Bob) a chodil na workshopy. Čistý kód produkuje kvalitnější aplikace, které se snáze upravují a jsou jednodušší na údržbu. Je to jeden ze základních mindsetů, který rozlišuje „člověka co píše kód“ od programátora.

Časem jsem se začal věnovat i dalším věcem jako jsou návrhové vzory, patterny a další principy, které jsou neméně důležité a dobrý programátor by o nich měl mít nějaké povědomí. Samozřejmě nejsme stroje a není potřeba vše znát nazpaměť. Důležité je ale vědět, že něco takového existuje a umět identifikovat správnou chvíli, kdy to použít.

Ač jsem velkým fanouškem čistého kódu, nemyslím si už jako dřív, že je to nejdůležitější pravidlo při vývoji software, programování. Je totiž jedna věc, která je ještě důležitější.

Tou nejdůležitější věcí je podle mě JEDNODUCHOST (SIMPLICITY).

Pokaždé když navrhujete nějakou architekturu, aplikaci, třídu, funkci,…

  1. Udělejte to chytře – běžně se mi stává, že strávím více času návrhem a výběrem nejlepšího řešení než samotným programováním. Časem si všimnete, že horké hlavy co si nedostatečně svůj postup naplánují stejně stráví řešením podobné problematiky více času, s horším výsledkem. Ne nadarmo se říká „dvakrát měř, jednou řež“.
  2. Vyberte minimalistické řešení – takové, které řeší jen problém, který je potřeba řešit a nic navíc a za použití co nejméně kódu (funkcí, tříd, technologií,…). Hodně programátorů má pocit, že více je lépe, opak je pravdou. Málo kdy víte, kam bude aplikace směřovat a co bude potřeba, dělat něco „do šuplíku“ je zbytečná práce.

Ač jsem fanouškem čistého kódu, kdybych se měl rozhodnout, vždy preferuji jednoduchý kód. Dost často totiž bývá jednoduchý kód i dobře čitelný a rozšiřitelný, aniž by se o to tvůrce úmyslně snažil. Opačně to ale neplatí – se složitým a komplikovaným kódem, který je ale napsán čitelně se potkávám často.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *