Ostatnio na zajęciach z podstaw programowania dowiedzialem się, że moi wykładowcy/ćwiczeniowcy strasznie są cięci na ilość returnów w metodzie.
Otóż wg nich jest tak, że metoda musi miec tylko JEDEN i nie wiecej returnow. Tzn jak mamy jakis prosty algorytm, ktory iteruje po tablicy i czegos szuka i jak znajdzie to zwraca to nie piszemy return w środku pętli, tylko tworzymy zmienną przed tą pętlą w każdym miejscu gdzie mielismy return przypisujemy wartość do tej zmiennej, a na samym koncu metody ja zawracamy. Dla rozjaśnienia:
niby źle:
int funkcja(){
for(..){
if(cos) return cosTam;
}
return cosInnegoNPDefaultowego;
}
niby dobrze:
int funkcja(){
int zwrot;
for(..){
if(cos) zwrot = cosTam;
}
zwrot = cosInnegoNPDefaultowego;
return zwrot
}
I tak sie zastanawiam na ile to jest ważne? mnie osobiscie lepiej czyta się kod gdzie return jest w pętli. Może nie dla wszystkich przypadków, ale dla takich exampli jak wyżej: po co ta zmienna? Zadanie gdzie mielismy znalezc cos w tablicy, jesli wystepuje zwrocic indeks w tablicy, jesli nie istnieje -1 -> kroilismy na tworzenie zmiennej do zwracania itd. Troche śmierdzi sztuką dla sztuki
co o tym sądzicie? może to ja taki nieuk i ignorant :(