Název:
Aplikace nástrojů na kvalitu kódu
Autoři:
Holub, Tomáš Typ dokumentu: Bakalářské práce
Rok:
2022
Jazyk:
cze
Abstrakt: [cze][eng] Statická analýza je jednou z metod sloužících ke zvýšení kvality zkoumaného zdrojového kódu. Zvýšení kvality kódu lze dosáhnout nejen předcházením bezpečnostním rizikům či volením nejefektivnějšího řešení z hlediska výkonu programu, ale i dodržováním stanovených konvencí a udržováním konzistentního, srozumitelného stylu. Vhodným začleněním nástrojů provádějících statickou analýzu kódu do vývojového cyklu programu lze do jisté míry ze strany vývojáře vynutit psaní bezpečného, efektivního, srozumitelného a standardizovaného kódu. Tato práce se v úvodní části zaměřuje na současné metodiky a nástroje pro statickou analýzu kódu. Dále práce krátce zkoumá a hodnotí možnosti využití statických analyzátorů v rámci CI/CD pipeline verzovacích systémů. Jádrem práce je nalezení optimálního řešení statické analýzy pro projekt DNA analyser. Na projekt jsou aplikovány nejvhodnější nástroje a metodiky určené pro programovací jazyky Java a JavaScript. Při výběru nástrojů je kladen důraz především na možnost jejich začlenění do CI/CD pipeline webového Git repozitáře GitLab. V závěru práce je na základě výsledků analýzy a osobní zkušenosti s použitými nástroji formou dokumentace navržena řada doporučení. Tato doporučení popisují možnosti zvýšení kvality zkoumaného kódu projektu a plní také úlohu jednoduchého manuálu pro údržbu, rozvoj a případné zapojení dalších nástrojů.Static analysis is one of the methods used to increase the quality of the examined source code. An increase in code quality can be achieved not only by avoiding security risks and choosing the most efficient solution in terms of program performance, but also by adhering to established conventions and maintaining a consistent, understandable style. By appropriately incorporating static analysers into the program development cycle, the developer is compelled to write safe, efficient, understandable, and standardised code. The introductory part of this thesis focuses on current methodologies and tools used for static code analysis. Then, the thesis briefly explores and evaluates the possibilities of using static analysers within CI/CD pipelines of versioning systems. The core of the thesis is finding an optimal static analysis solution for the DNA analyser project. The most appropriate tools and methodologies designed for Java and JavaScript programming languages are applied to the project. During the tool selection, the focus lies on integrability of the tools into the CI/CD pipeline of the GitLab web Git repository. In the last part of this paper, based on the results of the analysis and personal experience with the used tools, a documentation containing several recommendations is created. These recommendations describe the improvement possibilities of the examined code and function as a simple manual for maintenance, development, and possible integration of additional tools.
Klíčová slova:
CI/CD; code quality; GitLab; integrace; integration; kvalita kódu; pipeline; static analysis; statická analýza