Deadline III palautus

Tällä viikolla korjasin ohjelmaa vaivanneet muistiongelmat. Ongelman ytimessä oli tehoton muistinkäyttö lukemalla koko tiedosto Byte[]-taulukkoon joka vei liikaa muistia. Ohjelma lukee nyt pienen pätkän kerrallaan tiedostosta aina tarvittaessa, mikä myös nopeutti algoritmia jostain syystä. 

Laajensin tällä viikolla javadocin kattamaan kaikki ohjelman toteutusluokat. Siirsin myös metodeja omiin luokkiinsa yksikkötestien helpottamiseksi, ja kaikille luokille on yksikkötestejä. Yksikkötestien kattavuus epäilyttää hieman, joillakin luokilla on vain 3 - 4 testiä joten tässä lienee korjattavaa ensi viikolle. Olen myös miettinyt josko huffman-koodeja generoivaa luokkaa tulisi pilkkoa pienemmäksi koska esim. huffman-puun luominen tapahtuu täysin privaateissa metodeissa ja tätä ei näin voi suoraan testata yksikkötesteillä.