1 / 13

Automatic ké generovanie metrík a dokumentácie zo zdrojových kódov

Martin Sirota FIIT STU Bratislava, 10. jún 2008. Automatic ké generovanie metrík a dokumentácie zo zdrojových kódov. Obsah. Zadanie projektu Predstavenie existujúcich riešení Predstavenie LuaDoc Riešenie projektu Prínosy projektu Porovnanie projektu. Zadanie projektu.

luke
Download Presentation

Automatic ké generovanie metrík a dokumentácie zo zdrojových kódov

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Martin Sirota FIIT STU Bratislava, 10. jún 2008 Automatické generovanie metrík a dokumentácie zo zdrojových kódov

  2. Obsah • Zadanie projektu • Predstavenie existujúcich riešení • Predstavenie LuaDoc • Riešenie projektu • Prínosy projektu • Porovnanie projektu

  3. Zadanie projektu • Automatické generovanie dokumentácie • Jazyk Lua • Zamerať sa na dve hlavné funkcie: • Používateľsky definované značky (tagy) • Farebne zvýraznený zdrojový kód v dokumentácii

  4. Predstavenie existujúcich riešení • Všetky riešenia pracujú na princípe komentárov • Špeciálna syntax a špeciálne značky --- Define special sequences of characters. -- For each pair (find, subs), the function will create a field -- find which has the value of subs. -- It also creates an index for the table -- @param subs The replacement pattern. -- @param find The pattern to find. -- @returnescapecharacters table functiondef_escapes (find, subs) local special = { t = "\t", n = "\n", ['"'] = '"', ['\\'] = '\\', } find = gsub (find, "\\(.)", function (x) return %special[x] or x end) subs = gsub (subs, "\\(.)", function (x) return %special[x] or x end) escape_sequences.n = escape_sequences.n+1 escape_sequences[escape_sequences.n] = find escape_sequences[find] = subs returnspecial end

  5. Predstavenie existujúcich riešení – pokr. • Doxygen • Najznámejší, najpoužívanejší • Veľké množstvo možností a nastavení • Až 137 rôznych značiek • Podporuje rôznu syntax komentárov • Javadoc • Súčasť balíka J2SE • Priama podpora v mnohých Java IDE

  6. Predstavenie existujúcich riešení – pokr. • Lua • Žiadna podpora od veľkých projektov • LuaDoc • Najznámejší, najpoužívanejší, najpokročilejší • Flexibilná architektúra • ExpLua • Experimentálny projekt • Zaujímavá syntax • Stdlib • Veľmi jednoduchá podpora na parsovanie komentárov • Tvorba jednoduchých HTML súborov

  7. .lua súbory .html files dokumentácia taglet doclet Predstavenie LuaDoc • 11 značiek, bez možnosti modifikácie • XHTML výstup

  8. Riešenie projektu • Použitie LuaDoc ako základ pre modifikácie • Používateľsky definované značky • Úprava štandardného tagletu • Konfiguračný súbor • Farebne zvýraznený zdrojový kód v dokumentácii • Knižnica na parsovanie/dumpovanie zdrojových kódov • Cheese, LuaFish • Úprava štandardného (HTML) dockletu

  9. LuaFishparser LuaFishdumper tagfile .html files .luafiles dokumentácia taglet doclet Riešenie projektu– pokračovanie

  10. Prínosy projektu • Interoperabilita s ostatnými projektmi • Možnosť používania vlastného jazyka --% Opis funkcie --- Druhý riadok opisu funkcie --- Tretí riadok opisu funkcie --@ first (string) Popis prvého parametra --@ what (table) Popis druhého parametra --- druhý riadok popisu druhého parametra --@ [...] (any) Voliteľný parameter --: (number) Popis návratovej hodnoty funkcie functionModule:MyFunction( first, what, ... ) ... end

  11. Prínosy projektu – pokr. • Zdrojové kódy v dokumentácii • Formátovanie je nezávislé od „čistoty“ kódu • Farebne zvýraznenie – lepšia čitateľnosť • Zdrojový kód celého súboru

  12. Porovnanie projektu • Vlastné značky a zvýraznený zdrojový kód – jedinečné funkcie v rámci Lua

  13. Ďakujem za pozornosť

More Related