Mít dobře naprogramovanou aplikace je dnes velice důležité, protože i sebemenší chyba může znamenat nespokojenost klientů a snížení výnosů. V častých případech to přitom může znamenat opravdu velké finanční ztráty. Jaké jsou ale vlastně parametry dobře naprogramované aplikace? Záludná otázka, na kterou odpovídá Michal Zíma, šéf programátorů BlueGhostu.
Webová aplikace je velký projekt, který by měl splňovat řadu věcí. Můžeme si však vydefinovat tři základní pohledy, ze kterých by měl vycházet – programátorské hledisko, byznysové cíle a uživatelskou spokojenost. Každý z těchto úhlů pohledu je velice důležitý, každý však vyžaduje odlišný přístup a znalosti. Během řádků níže si specifikujeme několik programátorských věcí, které jsou z našeho pohledu důležité a zároveň vám mohou pomoci vylepšit již běžící aplikace, případně vám dají dobrý insight při stavbě aplikace nové.
Nejdříve je potřeba se nad aplikací zamyslet, stanovit si nějaký návrh, model a architekturu. Není to zkrátka tak, že si programátor sedne k počítači a začne „bušit” do klávesnice. Architektura by měla odrážet, pro co je aplikace určena. Rozdíl bude, pokud budete programovat bankovní aplikaci, aplikaci pro komunikaci s burzou či nějaký konfigurátor například pro potisk triček, kdy si uživatel bude moci nakonfigurovat vlastní vzhled a podívat se na to ve 3D modelu.
U prvního případu – tedy bankovní aplikace – je důležité se zaměřit především na odezvy, výkon a při komunikaci s burzou určitě na bezpečnost. Aplikace pro koncového uživatele, která má za úkol zobrazovat 3D model bude řešit technologie na straně uživatele. Jakým způsobem se bude vykreslovat model na starším zařízení, jak je tomu daný konfigurátor uzpůsoben. Na všechny tyto aspekty je důležité myslet, když je návrh aplikace vytvářen.
Pokud posuzujete, zda je aplikace dobře naprogramovaná, přičemž architektura nebyla zvolena, bývá už pozdě. Proto je důležité tento krok nepodcenit. Nejčastějšími projevy pak bývají v rychlosti nebo v tom, že aplikace neplní svůj stanovený účel.
Toto je určitě další důležité téma. Dokumentace obecně bývá takovou achilovou patou zejména u starších projektů, kdy dokumentace na začátku vznikla, ale už není aktuální. Anebo vůbec dokumentace nevznikala a rovnou se začalo programovat.
Self-explain code zahrnuje správné pojmenování funkcí a proměnných a všeho, co se v kódu uvádí. To je z toho důvodu, aby se nemusela vytvářet dokumentace přímo v kódu. Dokumentaci pak můžeme rozdělit do dvou velkých kategorií:
Druhá kategorie se na první pohled může zdát jako nadbytečná (tzv. redundantní), ale není dobré na to takto koukat. Pokud totiž potřebujete popsat nějaký složitější algoritmus nebo něco specifického čistě pro vaši aplikaci, je potřeba toto dobře zdokumentovat, abyste tím například usnadnili práci kolegům.
Potřebujete vyvinout aplikaci, web či e-shop na míru? Modrý duch vám rád pomůže a doporučí to nejlepší řešení.
Čistotou kódu není myšlena pouze grafická úprava. Ale koncept, v jakém kód píšete. Ten se označuje jako coding standards to znamená, že se s kolegy – programátory – dohodnete, jakým způsobem kód budete psát:
Všechny tyto parametry je dobré sepsat, nastavit a připravit na ně program, ve kterém programujete, tak, aby vaše coding standards dodržoval nebo vás na ně minimálně upozornil.
Kromě coding standards můžete pro čistotu kódu použít také statickou analýzu, která vám dokáže odhalit chybu, aniž byste program spouštěli. Tzn. tento nástroj kontroluje, zda je vše podle zvoleného jazyka v pořádku. Jedním z užitečných nástrojů, který můžete zvolit a používáme ho i my u nás v BlueGhostu, je PHPStan.
Ten dokáže zhodnotit váš kód na řadě úrovní a můžete podle něj určit, zda je váš kód čistý. A to i v již rozběhlém projektu. Využít jej můžete i pro používání tzv. PSR standardů, které podporují jednotný a srozumitelný způsob psaní kódu a umožňují lepší spolupráci mezi různými projekty a knihovnami. Následování těchto standardů také usnadňuje udržování kódu a jeho čitelnost pro ostatní vývojáře.
Spolu s tím má PHPStan řadu dalších užitečných funkcí jako například:
Nepřehlédněte: Jednou z dalších metod, jak udržovat čistotu kódu, jsou i tzv. code reviews. To znamená, že se na napsaný kód podívá někdo další. Pro tento účel je dnes možné používat i umělou inteligenci, kterou zmiňujeme v našem tipu Jak vám umělá inteligence může pomoci v programování. Určitě doporučujeme zhlédnout.
Dalšími důležitými faktory, jak můžete špatně naprogramovanou aplikaci poznat, je zaměření se na aspekty, které jsou v dnešní dynamické době stěžejní:
Dalším ukazatelem může být zpětná vazba od programátora jako takového. To znamená přímo se s ním spojit a zeptat se ho, jak dlouho by mu trval tzv. onboarding. Programátor si aplikaci projde, zhodnotí stavbu kódu a funkcí a odhadne, kolik mu to zabere času. Do dobře naprogramované aplikace se onborduje snáze než do té špatně a příliš komplikovaně postavené.
Praktický
Inspirující
Zábavný
Nic moc