Asi tušíte, jak vám může dobrý programátor nebo software pomoci. Znáte ale nástroje, s jakými vývojáři pracují? Podívejte se, jaké oblíbené a hlavně osvědčené nástroje používá tým MEMOS Software.
Dokonce i naprostý laik tuší, s jakými nástroji pracuje grafik nebo účetní. Práce vývojářů je ale pro většinu lidí opředena tajemstvím. Kromě toho, že pracují s nějakými programovacími jazyky, jako je C#, JavaScript a podobně, se toho obvykle moc neví.
Požádali jsme proto našeho CTO, Šimona Skotnického, aby vybral oblíbené nástroje a technologie, které se našim vývojářům osvědčily v praxi.
Visual Studio – základ moderního programování
Výběr prostředí, ve kterém vývojáři tvoří, je zcela zásadní. Přestože výběr kanceláře a jejího zařízení je také důležitý, v tomto případě je řeč o tzv. IDE (Integrated Development Environment), neboli o vývojovém prostředí, ve kterém se píše kód. Programovat se dá teoreticky i v poznámkovém bloku, ale díky pokročilým funkcím profesionálního IDE je psaní kódu nesrovnatelně rychlejší a přesnější.
Visual Studio od Microsoftu, které v MEMOS Software používáme, pracuje v reálném čase s technologií IntelliSense. Díky ní editor při práci nabízí návrhy dokončení části kódu, což výrazně urychluje jeho psaní. I další funkce plnohodnotného IDE, jako je spuštění kódu a vyhodnocování chyb, už lze vnímat jako standard moderního programování. Nejen že tyto funkce pomáhají profesionálům, ale i začátečníci díky nim mají okamžitou zpětnou vazbu. Šimon Skotnický k tomu říká: „Existuje spousta učitelů, kteří studenty při programování učí psát kód na papír, ale nevidím v tom žádný přínos. Vývojář nemůže ani spustit kód a nemá žádný feedback.“
Visual Studio
Předplatné plnohodnotného IDE Visual Studio Enterprise přináší přidanou hodnotu pro celý tým profesionálních vývojářů. Visual Studio však podporuje pouze vybrané programovací jazyky, a tak se našemu týmu osvědčilo používat také bezplatný nástroj Visual Studio Code, který lze svým způsobem označit za odlehčenou verzi Visual Studia. VS Code si můžete díky řadě dostupných rozšíření přizpůsobit a doplnit o spoustou nových funkcí. Včetně podpory programovacího jazyka PHP, který klasické Visual Studio nepodporuje. Proto je VS Code mezi našimi vývojáři oblíbený nástroj nejen pro front-endový vývoj.
Git – verzovací systém je nutnost
Současným standardem práce na vývoji software je tzv. agilní vývoj. Používá se také označení DevOps. Stručně řečeno to znamená, že během vývoje průběžně vznikají nové verze aplikace. Jedním z nástrojů, bez kterých by se agilní práce v týmu neobešla, je Git. Je to systém pro správu verzí, lidově řečeno verzování. „Git slouží také jako nástroj pro zálohu dat v případě, že shoří lokální disk nebo třeba dojde ke krádeži notebooku“, doplňuje Šimon.
Díky Gitu může vývojář, který naprogramuje novou část kódu, nahrát změny na server a dát je dispozici ostatním členům týmu, kteří tak mohou na této verzi dál pracovat. Aby se v těchto změnách udržoval přehled, označuje je Git stavy commited, modified a staged. Pokud tedy vývojář provedl nějaké změny v souboru, stav je modified. Jakmile vývojář chce změny od kolegů schválit stav změní na staged, a pokud je vše v pořádku, stav se změní na commited. S „commitnutými“ změnami pak mohou opět pracovat ostatní.
Tímto způsobem probíhá verzování do té doby, než vznikne finální verze aplikace. U změn je zároveň vidět, kdo a kdy ji udělal. Případné chyby tak lze řešit přímo s jejich autorem. Díky včasné identifikaci problémů průběžné verzování zabraňuje situacím, kdy se na konci vývoje objeví nekompatibilita back-endové a front-endové části aplikace, na které pracují dva vývojáři odděleně.
Azure DevOps – vše v jednom
Programování je týmová práce, která kromě verzování zahrnuje také řízení, plánování úkolů a podobně. Můžete používat jednotlivé nástroje pro každý druh činnosti zvlášť. Pro project management lze doporučit třeba Trello. Mezi službami, na nichž je možné provozovat verzovací systém, je zase jednoznačně nejpoužívanější GitHub. Anebo můžete využít nástroj, ve kterém vše zvládnete v jednom prostředí. Nám se osvědčil univerzální nástroj pro agilní vývoj - Azure DevOps.
Azure DevOps
Nasazování nových verzí aplikace do Gitu lze díky Azure Pipelines automatizovat. Stačí v Azure DevOps Pipelines nastavit automatické vytvoření buildu, tedy jakéhosi balíčku naprogramovaného kódu, a nasazení se tak bude vždy provádět automaticky.
Azure DevOps díky službě Azure Repos také umožňuje správu uložiště pro Git. Při verzování zároveň chytrým způsobem bere v potaz řízení projektu, jak naznačuje Šimon: „U projektů, na kterých pracuje větší tým, používáme funkci Pull Requests, pomocí níž si tým změny navzájem schvaluje.“ V takovém případě se nová verze dostane do Pipeline až po schválení příslušných členů týmu.
Projektové řízení je v Azure DevOps plnohodnotně zastoupeno službou Azure Boards. Na projekty lze v Azure Boards nahlížet několika různými pohledy ve všech fázích vývoje. Od sprintů, přes tzv. karty Kanban až po seznam jednotlivých úkolů. Výhodou integrovaného řešení v rámci Azure DevOps je, že úkoly, na kterých vývojáři pracují, se automaticky přesunou do stavu uzavřeno ve chvíli, kdy nasadí novou verzi aplikace.
Nakonec je potřeba zmínit také funkci Wiki, která slouží pro dokumentace jednotlivých projektů. Není tedy používána denně, ale z dlouhodobého hlediska je velice důležitá. Při psaní dokumentace je vhodné používat značkovací jazyk Markdown, aby byl text pro ostatní vývojáře přehledný a čitelný (i když se do toho vývojářům často nechce). Přehlednou dokumentaci ale nakonec ocení každý.
Zajímá vás, jaké další technologie a programovací jazyky využíváme? Čemu dalšímu vedle softwaru se věnujeme? Podívejte se, co děláme.