Avatar billede webcreator Nybegynder
27. juni 2003 - 20:36 Der er 13 kommentarer og
2 løsninger

IF sætning uden else - bedre ?

Hej.

Som så mange andre, ønsker jeg en rigtig overskuelig kode. Jeg kunne derfor godt tænke mig at slippe for else'erne i mine if-sætninger, og kun bruge IF'en. Er der nogen fordele/ulemper ved dette ?
Avatar billede riversen Nybegynder
27. juni 2003 - 20:39 #1
ja, ulempen er at du får flere evalueringer...

hvis du lave fem if'er bliver alle tjekket....kombinerer du med if else bliver der kun tjekket indtil en er sand...
Avatar billede riversen Nybegynder
27. juni 2003 - 20:40 #2
dvs. hurtigere afvikling...

alternativt kunne det måske være en mulighed med switch..det giver det også pæn kode, men jeg synes ikke man kan sige else gør koden mindre overskuelig...det er vel smag og behag
Avatar billede tipsen Nybegynder
27. juni 2003 - 20:57 #3
Om du benytter 5 individuelle if-løkker eller en if-else løkke med 5 mulige udfald bør ikke afhænge af et krav om overskuelig kode, men derimod af strukturen af problemet. Dvs hvis problemet er til:

if (condition) {
  //blabla
}
elseif (condition) {
  //blabla
}
elseif (condition) {
  //blabla
}
else {
  //blabla
}

skal du ikke lave det om til 4 seperate if-betingelser fordi du synes det er "pænere" - det er ikke tilfældet!

Fordelen med ovenstående struktur er også, at du har en else-condition som kan benyttes til at fange de resterende udfald, som man måske ikke har tænkt på i første omgang...
Avatar billede jakoba Nybegynder
27. juni 2003 - 20:57 #4
Du kan ikke lave et absolut svar på det spørgsmål. det kommer an på det program du skriver om det er en god ide med en  else  del eller ikke.

Indrukninger kan du til bengæld få et klar svar om. JA. gode indrykninger gør det meget nemmere at forstå din kode. både for OS og for digselv dagen efter

if ( $a == 25 ) {
    // denne klump kode udføres hvis $a er 25
    ...
    ...
} else {
    // denne klump kode udføres hvis $a IKKE er 25
    ...
    ...
    // kommentarer er næsten altid også en fordel.
}

mvh JakobA
Avatar billede rodehoved Nybegynder
28. juni 2003 - 03:44 #5
Som jakoba skriver. Det kommer helt an på hvad det egenligt er der skal tjekkes op imod, om der overhovedet kan bruges en if else konstruktion. Har oplevet det ikke er muligt, men man skal helst gøre det hvor det er muligt.

Desuden bliver koden ikke uoverskuelig, hvis du bare sørger for altid at bruge de rette tabuleringer når du skriver koden. (altid en god ide under alle omstændigheder).
Avatar billede roenving Novice
28. juni 2003 - 03:56 #6
à propos switch, som zq ellers er en rar konstruktion ...

Udtrykket evalueres een gang, men sammenligningen udføres _hver_ gang der findes en case-sætning, så break er en vigtig del af konstruktionen ...

Effektivt bliver det kun hvis du kan bruge et array-index til din udførelse ...
Avatar billede webcreator Nybegynder
28. juni 2003 - 11:12 #7
Ok. Jeg siger mange tak for jeres input. Så blev jeg lidt klogere på det :)
Smid endelig lidt svar
Avatar billede roenving Novice
28. juni 2003 - 11:34 #8
Skal vi nu til at slås om points igen *-)

-- jeg vil ha' 2 !-) så må riversen, tipsen, jakoba og rodehovedet nøjes med resten !o]
Avatar billede tipsen Nybegynder
28. juni 2003 - 18:22 #9
Jeg vil gerne bede om 1.87 point bare for sportens skyld! :)
Avatar billede tipsen Nybegynder
28. juni 2003 - 18:22 #10
...det kræver selvfølgelig et svar...
Avatar billede roenving Novice
29. juni 2003 - 03:23 #11
*gg*
Avatar billede tipsen Nybegynder
02. juli 2003 - 15:57 #12
Det var jo alt for meget... - øv! (-men tak ;-))
Avatar billede webcreator Nybegynder
02. juli 2003 - 15:59 #13
heh :p
Avatar billede roenving Novice
02. juli 2003 - 16:14 #14
Orv, tipsen, du fik næsten 3 gange så meget, som du havde bedt om -- stakkels jeg må nøjes med 2½ gang -- hulk hulk hulk

-- men tak alligevel for point ;~}
Avatar billede webcreator Nybegynder
02. juli 2003 - 16:17 #15
LOL :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester