Open mschatten opened 7 years ago
Moj!
TEST 16 - BITMAP test pada kod metode za kreiranje index tablice AK_create_Index_Table
problem se javlja kod startAddress = AK_initialize_new_index_segment(indexName,AK_get_table_id(tblName),indexed_attr_position, t_header); moguće je da se pogrješka događa u metodi AK_get_table_id(tblName) gdje se vraća negativna vrijednost
Poboljšanje osim ispravljanja svih pogrešaka smatram da bi bilo potrebno počistiti kod radi bolje preglednosti i lakšeg razumjevanja, također bi bilo dobro dodati još komentara kako bi se ubuduće moglo brže razumjeti što koji dio koda zapravo radi. Neke metode su preko 400 linija koda, na dosta mjesta je i kod koji se ponavlja te nekoliko metoda ima gomilu petlji i if uvjeta jednih unutar drugih što bi trebalo detaljnije proučiti i vidjeti dali je moguće taj problem rješiti drugačije.
AK_create_Index_Table funkcija - potrebno je refaktorirati kod i razdvojiti navedenu funkciju na manje dijelove te detaljnije razmotriti komentare koji indiciraju na error
Ak_create_Index funkcija - komentirana linija koda, potrebno je otkriti zašto je komentirana te ispraviti eventualne pogreške
AK_get_Attribute funkcija - nedostaje opis jednog parametra funkcije u komentaru
Ak_write_block funkcija - provjeriti je li navedena funkcija potrebna i ukoliko nije obrisati ju, suprotno potrebno je funkciju ispravno implementirati
AK_add_to_bitmap_index funkcjia - u komentaru funkcije postoji parametar kojeg funkcija NE prima, potrebno je proučiti funkciju i vidjeti je li komentar (opis) funkcije pogrešan ili je funkcija pogrešno implementirana
AK_delete_bitmap_index funkcija - možda fali provjera prije brisanja, postoji li index s danim imenom
Ak_bitmap_test funkcija - potrebno je refaktorirati funkciju
temeljem dokumentacije ne postoje testovi, potrebno ih je napisati
postoje include-ovi koji bi se trebali nalaziti u index.h file-u
AK_get_index_tuple funkcija - svaki return unutar funkcije je NULL; potrebno je proučiti funkciju i refaktorirati ju
AK_print_index_table funkcija - potrebno je proučiti funkciju i rastaviti ju ukoliko je moguće
Potrebno je implementirati funkciju Ak_write_block. Test za ovu datoteku ne postoji. Funkcije su normalnijih veličina, tj. broja linija koda, samim time su i čitljivije. Jedino bi se funkcija void AK_create_Index_Table možda mogla implementirati malo efikasnije zbog velikog broja ugnježđivanja if-ova i petlji.
Funkcija int Ak_write_block nije implementirana. Cijelo kod joj je zakomentiran, a funkcija void Ak_print_Header_Test trebala bi biti prenamijenjena u običnu, a ne test funkciju ili implementirana u testni dio.
Bitmap.c
AK_create_Index_Table Pretraživanje tablice za atributima koji se trebaju indeksirati Prijedlozi poboljšanja Ponavljanje blokova koda -> stvaranje novih funkcija s implementiranim blokovima i pozivanje njih Obavljanje više zadataka -> rastavljanje funkcije tako da svaka funkcija ima jedan zadatak (spomenuto) Nerazumljiv kod -> više komentara Ugniježđene petlje -> smanjiti broj ugniježđenih petlji Komentar spominje pogrešku -> vidjeti što je pogreška (spomenuto) Potrebno podijeliti funkciju na više dijelova
AK_create_Index Kreiranje indeksa nad atributima Prijedlozi poboljšanja Nerazumljiv kod -> više komentiranja Ponavljanje blokova koda -> stvaranje novih funkcija s implementiranim blokovima i pozivanje njih
AK_get_attribute Vraćanje adrese traženog atributa Prijedlozi poboljšanja Nerazumljiv kod -> više komentiranja
AK_get_attribute Pronalazak indeksa pomoću proslijeđenog naziva tablice i atributa Prijedlozi poboljšanja Isti naziv kao i prethodna funkcija -> promijena naziva
AK_update Ažuriranje vrijednosti indeksa Prijedlozi poboljšanja Obavljanje više zadataka -> rastavljanje funkcije tako da svaka funkcija ima jedan zadatak Ugniježđene petlje -> smanjiti broj ugniježđenih petlji
AK_add_to_bitmap_index Treba raditi: ažuriranje indeksa Zapravo radi: briše indeks ako u njemu nema manje redova nego u tablici za koju je napravljen Prijedlozi poboljšanja Shvatiti što funkcija treba raditi (spomenuto)
AK_bitmap_test - test Pri pokretanju se ruši program -> PROBLEM Prijedlog poboljšanja Potrebno je ispraviti grešku -> vidjeti u kojoj od funkcija je problem i ispraviti ga
Ak_write_block Funkcija koja se spominje u headeru a u potpunosti je u komentaru Prijedlog poboljšanja Vidjeti zašto je u komentaru i je li potrebno (spomenuto)
index.c
AK_InitializelistAd Služi za inicijaliziranje liste Prijedlog poboljšanja Funkcija se sastoji od jedne linije koda -> pogledati je li zbilja potrebna
AK_get_index_tuple Vraća vrijednost određene ćelije u tablici Prijedlog poboljšanja Izdvojiti dio koda u zasebnu funkciju
AK_print_index_table Ispisivanje sadržaja tablice Prijedlog poboljšanja Predugačka funkcija -> podijeliti na više dijelova (primjerice jedna funkcija za ispisivanje headera, jedna za vrijednosti itd.) (spomenuto)
AK_index_test() - test Nemoguće pokrenuti kao ostale testove jer nije test nego funkcija Prijedlog poboljšanja Pretvoriti u test kako bi ga se moglo testirati kao i ostale (spomenuto)
5) Index.c Trenutno treba dodati test za ovu datoteku u main datoteku kako bi je bilo u odabiru za testove pa da se dalje može vidjeti ako nešto dobro ne radi. --> Dodati test
Bitmap.c Funkcija int Ak_write_block je samo zakomentirana te trenutno nema implementaciju Funkcija void Ak_print_Header_Test bi trebala biti prenamijenjena u obicnu a ne test funkciju ili implementirana u testni dio.