bakalářská práce

Prohlížení textových souborů pro Altap Salamander

Text práce 1.71 MB

Autor práce: Bc. Jan Pryč

Ak. rok: 2023/2024

Vedoucí: Ing. Zbyněk Křivka, Ph.D.

Oponent: Ing. Radim Kocman, Ph.D.

Abstrakt:

Tato bakalářská práce obsahuje analýzu a implementaci pluginu Syntax Highlighting pro
Altap Salamander, známý souborový manažer pro operační systémy Windows. Navržený
plugin je implementován v C++ a slouží ke zvýrazňování syntaxe ve zdrojových souborech.
Cílem je vytvořit nástroj, který dokáže pomoci uživatelům lépe pracovat se zdrojovými
soubory a zlepšit efektivitu práce v prostředí Altap Salamander

Klíčová slova:

C++, Altap Salamander, Windows, zvýraznění syntaxe, plugin

Termín obhajoby

11.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaDznamka

Klasifikace

D

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.

Otázky k obhajobě

  1. Jak vypadá současný stav zpětné vazby k pluginu? Máte již více reakcí, ze kterých by šlo prezentovat zajímavější výsledky?
  2. Máte v plánu pokračovat ve vývoji pluginu a zohlednit získanou zpětnou vazbu?
  3. Kde je váš plugin zveřejněn?
  4. Mohl byste zhodnotit náročnost zadáni? Např. kolik řádků zdrojového kódu jste musel přidat nebo upravit? 
  5. Co bylo podle vás na práci nejnáročnější?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. Tomáš Martínek, Ph.D. (předseda)
Ing. Ivana Burgetová, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
Ing. Tomáš Milet, Ph.D. (člen)

Posudek vedoucího
Ing. Zbyněk Křivka, Ph.D.

Ač není vývoj pro špatně dokumentovaný program na Windows jednoduchý, tak toto zásadní zpoždění nebylo jasně zdůvodněno. Doufám však, že student své dílo nezavrhne a bude jej nadále vylepšovat.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Náročnost tohoto zadání se pohybuje od jednoduššího až po průměrné. V době vypisování a počáteční rešerše neexistoval popis API pro Altap Salamander verze 4 (pro Windows), což se zveřejněním verze 5 jako open source zlepšilo, ale oficiální programová dokumentace není k dispozici a důležité znalosti bylo nutné získat studiem zdrojových kódů a pročítáním vývojářského fóra. Práce zadání splnila, ale spíše v minimalistickém duchu, kdy plugin nenabízí žádnou další funkcionalitu běžnou pro vestavěný prohlížecí plugin Altap Salamanderu 4.

Práce s literaturou

Počet zdrojů v práci není tak veliký, jak by se dle počtu položek mohlo zdát. Řada z nich vede na stejný web nebo do různých částí většího zdroje pro cílenější referenci. Část materiálů doporučil vedoucí, část si student samostatně vyhledal.

Aktivita během řešení, konzultace, komunikace

Student pracoval v zimním semestru jen velmi málo a v podstatě jen vybral nástroj, který využije pro zvýrazňování syntaxe. Teprve až v březnu se postup prací na implementaci zrychlil a začalo mít smysl detailněji konzultovat i specifikaci požadavků. Bohužel řada drobných požadavků nakonec nebyla splněna a nejsou ani v textu dokumentovány.

Aktivita při dokončování

Student během dubna a začátku května pracoval na aplikaci i téměř celém textu práce. Vyvinuté úsilí byla enormní. Finální verzi textu jsem neměl možnost připomínkovat, ale viděl jsem alespoň některé části.

Publikační činnost, ocenění

Nový modul byl anoncován na forum.altap.cz, kde bylo již vzneseno několik návrhů na vylepšení. Nicméně zdrojové kódy zatím zveřejněny nejsou a na samotném vydání je potřeba ještě zapracovat, aby byla instalace pluginu bezproblémová.

Výsledný počet bodů navržený vedoucím: 70

Známka navržená vedoucím: C

Posudek oponenta
Ing. Radim Kocman, Ph.D.

Vzhledem k solidnímu zpracování technické zprávy, ale problematickému stavu realizačního výstupu, navrhuji hodnotit práci celkově stupněm D (65 bodů).

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: méně obtížné zadání

Stěžejní funkcionalita stanovená zadáním se zdá být poměrně jednoduchá na realizaci. Cílem je vytvořit plugin, který primárně propojuje funkce již existujících nástrojů. Jako komplikovanější část vidím pouze nutnost se seznámit s poměrně rozsáhlým projektem a nutnost výběru vhodných nástrojů k propojení.

Prezentační úroveň technické zprávy

Samotný text technické zprávy je psán čtivě a srozumitelně. Mám však určité výhrady ke členění kapitol. Jedná se hlavně kapitolu 5, které v sobě bez větších předělů kombinuje poměrně nesourodý obsah, od motivace pro vytvoření pluginu až po popis detailů kompilace použitých knihoven.

70
Formální úprava technické zprávy

Po typografické i jazykové stránce je práce na dobré úrovni. V textu jsem narazil pouze na občasné drobné nedostatky.

75
Realizační výstup

Vytvořený plugin je funkční a splňuje požadavky ze zadání. Nejsem však spokojen s kvalitou samotné realizace. Implementace se zdá být vytvořena bez důkladnějšího návrhu a důslednějšího testování.

Jako základ zdrojových kódů pluginu byl použit ukázkový demonstrační plugin z SDK, který byl následně v nutných částech modifikován. Důsledkem toho ale není jednoduché odlišit, které části kódu skutečně vykonávají nově implementovanou funkcionalitu. Plugin je více dokumentován pouze popisem v technické zprávě v kapitole 5.

Technická zpráva obsahuje v kapitole 6 uživatelské testování. Podle obrázku 6.1 a kapitoly 7 se však zdá, že v době psaní práce byla obdržena zpětná vazba pouze od 4 uživatelů a připomínky nebyly v pluginu již dále reflektovány. Sám jsem narazil na problémy se zprovozněním pluginu a poměrně nepřívětivé konfigurační rozhraní, které by bylo bez živé ukázky složité pochopit.

55
Využitelnost výsledků

Výsledkem práce je plugin do programu Altap Salamander, který umožňuje prohlížet textové soubory se zvýrazněním syntaxe. Plugin je zveřejněn a je použitelný pro praktické využití.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno s drobnými výhradami

Všechny body zadání jsou v předložené práci splněny. Výhrady mám pouze k malému rozsahu testování vytvořeného pluginu.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Rozsah technické zprávy je odpovídající a přiměřený.

Práce s literaturou

Celkem je uvedeno 35 studijních pramenů a všechny jsou relevantní k tématu bakalářské práce. Vlastní výsledky studenta jsou v práci řádně odlišeny. Většina zdrojů však odkazuje na webové stránky obsahující  pouze krátké informační články o použitých pojmech a technologiích. Literatura je citována dle příslušných norem, ale u zdroje [32] jsem narazil na nesrovnalost, kdy je konferenční článek citovaný jako online zdroj.

70
Otázky k obhajobě:
  1. Máte v plánu pokračovat ve vývoji pluginu a zohlednit získanou zpětnou vazbu?
  2. Jak vypadá současný stav zpětné vazby k pluginu? Máte již více reakcí, ze kterých by šlo prezentovat zajímavější výsledky?
Výsledný počet bodů navržený oponentem: 65

Známka navržená oponentem: D

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová