Bachelor's Thesis

Viewing of Text Files for Altap Salamander

Final Thesis 1.71 MB

Author of thesis: Bc. Jan Pryč

Acad. year: 2023/2024

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

Reviewer: Ing. Radim Kocman, Ph.D.

Abstract:

This bachelor thesis encompasses the analysis and implementation of the Syntax Highlighting plugin for Altap Salamander—a well-known file manager for Windows operating
systems. The designed plugin is implemented in C++ and intended for syntax highlighting
of source files. The goal is to create a tool that can help users work better with source codes
and increases efficiency within the Altap Salamander environment.

Keywords:

C++, Altap Salamander, Windows, syntax highlighting, plugin

Date of defence

11.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaDznamka

Grading

D

Process of defence

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.

Topics for thesis defence

  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ší?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
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.

Evaluation criteria Verbal classification
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á.

Points proposed by supervisor: 70

Grade proposed by supervisor: C

Reviewer’s report
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ů).

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: 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í

Evaluation level: 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

Evaluation level: 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
Topics for thesis defence:
  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?
Points proposed by reviewer: 65

Grade proposed by reviewer: D

Responsibility: Mgr. et Mgr. Hana Odstrčilová