Projekti ladattu 7.6.2019 kello 12:10
Tervehdys!
Sain tehtäväkseni arvioida kompressiotyösi. Hyvä niin, sillä teen itsekin harjoitustyön samasta aiheesta.
Ensihuomiot
Luettuani läpi toteutus- ja määrittelydokumentin, sain hyvän kuvan siitä, mitä ohjelmallasi tavoittelet. Ikävää, että olet ollut kipeänä, sillä edistyksesi muutaman ekan viikon aikana on selvästi ollut nopeaa!
Koodi
En ole kovin kummoinen koodari, mutta ohjelmakoodisi näyttää siltä, miltä tiedän hyvän koodin näyttävän. Minun on helppo seurata LZ77 toimintaa, vaikken ole sen teoriaan tutustunutkaan. Luokka-hierarkia on erittäin järkevä ja hilitty, etkä näytä tekevän mitään muistillisesti liian raskaita operaatioita.
HuffmanCompress
Rekursio huffman-koodien tuottamiseksi on todella napakka ja suoraviivainen.
LZ77Compress/Decompress
En aivan ymmärrä LZ77 toimintaa, mutta tässäkin luokassa on pelkästään hyvää ja selkeä koodia.
HuffmanTree
Sama juttu tässäkin, oma puu-totetukseni on huomattavasti sotkuisempi ja useamman kerran pitempi kuin sinun implementaatiosi, hyvää työtä!
Ohjelman toiminta
En osannut ajaa gradle-kokemattomuuttani ohjelmaasi. Kuitenkin siinä onnistuttuani, ihastelin sen tehokkuutta. Ajoin ohjelmasi Moby Dick novellilla ja sain samanasteisen kompressiotehokkuuden kuin mitä Seitsemästä Veljeksestä. Hyvää työtä!
Testaus
Testikattavuusraportti kertoo selkeää kieltä ohjelman tilasta. Testit ovat riittävän kattavia ja järkeviä. Olet ymmärrettävästi jättänyt Huffmanin testaamisen pois, kun et sitä vielä ohjelmassasi käytäkään.
Yleiset kommentit
Olet edistynyt todella hyvin, ja epäilemättä, kunhan saat keon toteutettua Huffmanin puu-tarpeisiin, niin projektisi alkaa hipomaan valmista työtä.
Ainut rakentava palautteeni työhösi ei liity niinkään koodiin, vaan ohjelman käytettävyyteen. Vaikka käyttöohjetta ei olekaan tarvinnut vielä tehdä, ohjelmasi ajoa hieman hidasti se, että minun täytyi itse selvittää ja lisätä build.gradle tiedostoon rivit: apply plugin: 'application'
mainClassName = 'jpack.Main'
Hyvää työtä kertakaikkiaan! Monet ratkaisuistasi saavat oman kompressio-ohjelmani näyttämään vitsiltä. Onnea ja menestystä loppukurssille!
Yt. Akseli