cenenzo Skrevet 9. mai 2014 Del Skrevet 9. mai 2014 public void setNavn(String Navn) { if(Navn.length() > 50){ return; } er det noe feil med denne kode? da tenker jeg på siden det er void, så kan det ikke returnere noe verdi? men hvorfor er return; der? Lenke til kommentar
etse Skrevet 9. mai 2014 Del Skrevet 9. mai 2014 grunnen til return der er ment som "Returner ut av funksjonen". Siden det ikke er lagt ved noen verdi returnerer den ingen verdi, den hopper bare ut av funksjonen. Poenget med funksjonen er vel å ikke sette navnet om navnet har en lengde over 50. Lenke til kommentar
torbjørn marø Skrevet 9. mai 2014 Del Skrevet 9. mai 2014 return er der for å hoppe ut av metoden tidlig (antar det kommer mer i den metoden som du ikke tok med). Ganske vanlig å ha slike sjekker først i metoder - "guards" kalles det gjerne. I dette tilfellet burde derimot guarden kastet en exception, ikke bare returnert. For hvis setNavn ikke kan gjøre jobben sin så bør den som kaller metoden få beskjed om det. Lenke til kommentar
Piquet Skrevet 30. mai 2014 Del Skrevet 30. mai 2014 Hvis du skal ha en return value trenger du ikke void i funksjonen. Lenke til kommentar
Lycantrophe Skrevet 30. mai 2014 Del Skrevet 30. mai 2014 (endret) I dette tilfellet burde derimot guarden kastet en exception, ikke bare returnert. For hvis setNavn ikke kan gjøre jobben sin så bør den som kaller metoden få beskjed om det.Ikke nødvendigvis enig. Dette kan fint legges i return type. Endret 5. juni 2014 av Lycantrophe Lenke til kommentar
GeirGrusom Skrevet 5. juni 2014 Del Skrevet 5. juni 2014 I dette tilfellet burde derimot guarden kastet en exception, ikke bare returnert. For hvis setNavn ikke kan gjøre jobben sin så bør den som kaller metoden få beskjed om det.Ikke nødvendigvis enig. Dette kan fin legges i return type. Tøv. Anti-pattern. I dette tilflette vil det være kode som beviselig er feil. Det er ingen grunn til å tro at brukeren av API-et har behandlet returkode riktig, men exceptions feil. Dersom brukeren ikke behandlet returkoder feil har du potensielt et program i en state der brukeren ikke har tenkt på hva som skal skje mens en exception vil hindre programmet fra å fortsette i en state der det er en beviselig programmeringsfeil. Lenke til kommentar
Lycantrophe Skrevet 6. juni 2014 Del Skrevet 6. juni 2014 Ikke nødvendigvis. Kanskje i dette tilfellet, og hvertfall i Java-verdenen, er det nok den beste løsningen, om ikke annet hva som forventes av en stor andel brukere. Men det er nok av andre tilfeller hvor jeg heller ser ting i return type. Maybe/optional yo. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå