Haraldson Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 Like greit å lage en kombinert test slik drange skriver (så slipper du to nøstede if-tester), og bruke for-løkke. While er så tungvint i forhold. Lenke til kommentar
Epixx Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 (endret) Like greit å lage en kombinert test slik drange skriver (så slipper du to nøstede if-tester), og bruke for-løkke. While er så tungvint i forhold. 7461838[/snapback] Joda, kom bare med et eksempel. Skriver automatisk while i stedet for for av en eller annen grunn, men det er opp til den enkelt. Testklassen tok meg forøvrig ca. 10 minutter å skrive Edit: etter en kjapp omskriving kan det også gjøres slik: private int findSongPos(String songName, String artist){ for (int i = 0; i < songList.length; i++){ if(songList[i] == null){} else{ if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())){ return i; } } } return -1; } Endret 9. desember 2006 av Thomas` Lenke til kommentar
pgdx Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 private int findSongPos(String songName, String artist){ for (int i = 0; i < songList.length; i++){ if(songList[i] == null){} else{ if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())){ return i; } } } return -1; } 7461857[/snapback] Du trenger ikke den tomme {}. Du kan like gjerne skriveif (songList[i] != null) if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())) return i; Lenke til kommentar
Epixx Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 (endret) Selvsagt drange, det blir en mye bedre syntaks enn en tom if. Er ikke helt våken enda, gitt Koden blir da forøvrig slik.. private int findSongPos(String songName, String artist){ for (int i = 0; i < songList.length; i++){ if(songList[i] != null){ if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())){ return i; } } } return -1; } Du trenger jo ikke bracketene, kan jo skriva hele if-setningen på en linje som du nevnte, men har dem med for oversiktens skyld. Endret 9. desember 2006 av Thomas` Lenke til kommentar
Haraldson Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 Hmm, finnes det noen 'god kode-standard'-opplegg som jeg ikke har fått med meg, siden alle skriver artist.equals(songList[i].getArtist()) mens jeg skriver songList[i].getArtist().equals(artist) ? Uansett, jeg brukte equalsIgnoreCase også, for å gjøre hele søket litt mer fleksibelt. Sånn hvis man skulle hente inn input fra bruker og sånn, noe som ikke er helt fjernt. Lenke til kommentar
Epixx Skrevet 9. desember 2006 Del Skrevet 9. desember 2006 (endret) Akkurat det der har jeg ikke noe svar på, det falt meg bare logisk inn å bruke variabel.equals(metode), ettersom du skrive jo variabel = metode, ikke metode = variabel Ja, funderte på å implentere litt flere funksjoner, men så lenge det ikke er snakk om input fra bruker gidder jeg ikke. Bruker toUpperCase() i test-programmet når jeg bruker removeAllByGenre(). Og litt OT, noen som vet sånn ca når vi får karakter på PJ110 prosjektet? Gjelder Stavanger Endret 9. desember 2006 av Thomas` Lenke til kommentar
Patton Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 private int findSongPos(String songName, String artist){ for (int i = 0; i < songList.length; i++){ if(songList[i] == null){} else{ if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())){ return i; } } } return -1; } 7461857[/snapback] Du trenger ikke den tomme {}. Du kan like gjerne skriveif (songList[i] != null) if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())) return i; 7461967[/snapback] Å utelate klammene fullstendig er ikke å anbefale. Gjør koden mindre oversiktelig. Lenke til kommentar
Haraldson Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 (endret) Å utelate klammene fullstendig er ikke å anbefale. Gjør koden mindre oversiktelig. Hvis du leser en gang til, ser du at det ikke var det han mente. Han mente heller å endre sjekken, og sjekke om posisjonen i arrayen er ulik 0 i if, og kutte ut else helt. Regner med at klammene ble utelatt i eksempelet for enkelhets skyld, og om ikke funker det jo helt fint uansett. Endret 10. desember 2006 av Mr.Berg Lenke til kommentar
pgdx Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 Ja, Thomas' hadde operert med en if (noe == noe) {} else { //tingene } istedenfor if (noe != noe) { //tingene } Lenke til kommentar
toddy23 Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 Like greit å lage en kombinert test slik drange skriver (så slipper du to nøstede if-tester), og bruke for-løkke. While er så tungvint i forhold. 7461838[/snapback] Joda, kom bare med et eksempel. Skriver automatisk while i stedet for for av en eller annen grunn, men det er opp til den enkelt. Testklassen tok meg forøvrig ca. 10 minutter å skrive Edit: etter en kjapp omskriving kan det også gjøres slik: private int findSongPos(String songName, String artist){ for (int i = 0; i < songList.length; i++){ if(songList[i] == null){} else{ if(artist.equals(songList[i].getArtist()) && songName.equals(songList[i].getTrackname())){ return i; } } } return -1; } 7461857[/snapback] Jeg hadde skrevet continue inne i de tomme klammene, forløkken vil da fortsette med neste iterasjon. Lenke til kommentar
Haraldson Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 Eller bare bytte om og sjekke for ulikhet som skrevet over, siden else slett ikke er påkrevd. Lenke til kommentar
pgdx Skrevet 10. desember 2006 Del Skrevet 10. desember 2006 Eller bare bytte om og sjekke for ulikhet som skrevet over, siden else slett ikke er påkrevd. 7470602[/snapback] Hehe, mange gode forslag. Vi kan lage en liste over mulige måter å bruke if/else-spørringer på uten om normalen etter denne tråden her. d-_-b Lenke til kommentar
Patton Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Å utelate klammene fullstendig er ikke å anbefale. Gjør koden mindre oversiktelig. Hvis du leser en gang til, ser du at det ikke var det han mente. Han mente heller å endre sjekken, og sjekke om posisjonen i arrayen er ulik 0 i if, og kutte ut else helt. Regner med at klammene ble utelatt i eksempelet for enkelhets skyld, og om ikke funker det jo helt fint uansett. 7469219[/snapback] Jeg saa hva han mente, og jeg er enig i endringene han gjorde. Tenkte jeg kunne paapeke aa selv om det er mulig aa skrive if-setninger uten klammer, saa er det god kodeskikk aa alltid bruke klammer paa slike statements (if/else/for/while). Lenke til kommentar
pgdx Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Ja, det er for så vidt greit. Nå har jeg ikke skrevet mye Java, men av disse tre, finner jeg førstnevnte mest oversiktlig: if (obj != null) return i; if (obj != null) { return i; } if (obj != null) { return i; } Men jeg kan gå med på at sistnevnte bør brukes ettersom det er de facto standard. Lenke til kommentar
qualbeen Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 sålenge folk ikke bruker følgende er jeg fornøyd: if (obj != null) { return i; } dette er også en mye brukt måte å skrive på, men jeg mener den forvirrer mer en dranges tredje alternativ, samt at koden blir visulelt styggere også! Lenke til kommentar
pgdx Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Ja, det er ekstremt mange som begynner bracketen på neste linje, spesielt i C. Noen med mye erfaring som har noen synspunkter på dette? Lenke til kommentar
blackbrrd Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Java code convention: http://java.sun.com/docs/codeconv/ http://java.sun.com/docs/codeconv/html/Cod...s.doc6.html#430 7.2 Compound Statements Compound statements are statements that contain lists of statements enclosed in braces "{ statements }". See the following sections for examples. * The enclosed statements should be indented one more level than the compound statement. * The opening brace should be at the end of the line that begins the compound statement; the closing brace should begin a line and be indented to the beginning of the compound statement. * Braces are used around all statements, even single statements, when they are part of a control structure, such as a if-else or for statement. This makes it easier to add statements without accidentally introducing bugs due to forgetting to add braces. Vil si at sun er relativt klar på dette området Lenke til kommentar
Haraldson Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 sålenge folk ikke bruker følgende er jeg fornøyd: if (obj != null) { return i; } dette er også en mye brukt måte å skrive på, men jeg mener den forvirrer mer en dranges tredje alternativ, samt at koden blir visulelt styggere også! Noen med mye erfaring som har noen synspunkter på dette? Nå er ikke jeg noen ekspert, men jeg vet at Ueland, PT, jorgis & co som programmerer VikingBoard bruker denne kodepraksisen. Det er vel en av reglene som skal gjøre det hele mer oversiktlig, og enklere å se hvor det finnes metodekropper, løkker og mer. Lenke til kommentar
blackbrrd Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Å skrive: Statement { Statement; } Bryter med sun sin java code convention som nevnt: The opening brace should be at the end of the line that begins the compound statement; the closing brace should begin a line and be indented to the beginning of the compound statement. Lenke til kommentar
Haraldson Skrevet 11. desember 2006 Del Skrevet 11. desember 2006 Ikke at det er ultrastrenge regler, akkurat... 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å