Witam
Głównym pytaniem jest, w jaki sposób przygotowujecie się do napisania fragmentu kodu, żeby potem nie przeprawiać go po kilkanaście razy + dodatkowo nie przeprawiać klas z nim powiązanych? Bo idzie w nerwice wpaść. ;O
2 sprawa jest taka, w jaki sposób (związane z powyższym) sprawdzacie czy kod działa zanim pościcie go w obieg?
Mam taki przykład
public LiczIle(int[] tablica){
for (int i: tablica) {
index = 0;
for (int j: tablica) {
if (tablica[j] == tablica[i]) {
index++;
}
else {
break;
}
}
System.out.print(tablica[i] +" = " + index + " ");
}
Ten fragment to po prostu dramat, jak to ktoś kiedyś powiedział "szkoda strzępić ryja", ile nerwów mnie kosztuje to już nie wspomnę.
O co mi chodzi:
Zanim napisałem te kilka linijek sprawiających, że krew zaczyna szybciej płynąć zapisałem sobie na kartce co frament ma robić i ja ma to przebiec.
Głównym założeniem było, żeby:
- wejść w tablicę,
- wyzerować index,
- dla indexu[i] sprawdzić całą tablicę w poszukiwaniu ile razy element się powtarza,
- wypisać ilość tych razy (zapisaną w zmiennej index, którą inkrementuję w pętli),
- wyzerować index i zacząć z kolejnym elementem.
Dodatkowym założeniem było, żeby nie powtarzało mi 2 razy tych samych elementów w tablicy, czyli dla 2 1 2 mieć wynik : 2 = 2, 1 = 0 zamiast 2 = 2, 1 = 0, 2= 2.
Wypisałem to na kartce, za symulowałem pętle, zadowolony z życia na tej podstawie wypisałem kod i przy elementach 2 1 2 otrzymuję wynik 2 = 1 1 = 0 2 = 1 grr.
W tym poście w ogóle nie chodzi mi o rozwiązanie problemu wyniku, ponieważ to jest najmniejszy problem. Pytania moje to:
- Jak zaplanować pisanie, żeby nie zdziwić się tak bardzo? Bo znając siebie to ja zanim ogarnę sprawę to jeszcze z 5 razy zmienię całą metodę. A chodzi o to, żebym miał zarys tego jak to powinno wyglądać,
- Jak sprawdzić działanie samego tego jednego fragmentu kodu, zanim podpiął bym go pod maina?,
- W jaki sposób to sprawdzić, żeby dojść do rozwiązania
Ostatnia rzecz debugger, w ogóle go nie ogarniam, czasem uda mi się sprawdzić kod metodą "steb by step", którą udostępnia, ale nie zawsze jest ona "aktywna" - naprowadzilibyście mnie na cokolwiek, co pomogło by mi zrozumieć działanie debuggera?
Próbowałem nauczyć się czegoś na własną rękę, jakieś ustalanie breakpointów i właśnie "step by step", ale koniec końców eclipce olewa moje break pointy i kompiluje program z miejsca tak jak bym w ogóle nie używał debuggera ;O