Peer review

Sven-Olof Nyström
OOP med Java våren -25
Informationsteknologi
Uppsala Universitet

Peer review

Du ska göra peer-review av någon annans lösning av uppgift 2, 3 och 4.

Efter att lösningarna är inlämnade kommer jag att meddela vilken lösning du ska reviewa. Jag kommer att använda forumet för detta.

Syftet med peer-review är att du ska få se och hämta inspiration från andra sätt att lösa de problem du arbetat med. Att läsa kod man inte skrivit själv ger också perspektiv på hur kod bör se ut för att vara lätt att läsa och förstå.

Peer-review redovisas genom en kort rapport som bland annat tar upp:

Det är förstås önskvärt att du motiverar dina svar. Om du tycker att lösningen är bra, förklara vad det är som gör att lösningen är bra. Om nånting är mindre bra, förklara vad det är som gör löningen mindre bra.

Gör gärna jämförelser med din egen lösning! Glöm inte att tala om vem du är och vem som gjort den lösning du tittat på.

Om du har svårt att köra programmet

Det finns mycket som kan strula. Olika utvecklingsmiljöer har ibland lite olika uppfattning om var källkodsfiler och andra filer (till exempel bilder) ska ligga. Olika miljöer använder också olika teckenkodningar. Om du har svårt att kompilera och köra programmet du ska reviewa, ge inte upp så lätt. Du kan fråga mig eller studenten som skrev uppgiften. Du kan också höra dig för på forumet.

Jag ger ett par exempel nedan på saker som kan gå fel.

Fel teckenkodning.

Ett exempel:

 $ javac Nm.java Nm.java:7: error: unmappable character for encoding
 UTF8 //Beskrivning: Klassen hanterar main med ett spel-objekt, som
 anropar tv metoder, play() och resultBoard().

(Notera att sista bokstaven i ordet "två" har fallit bort.) Det här programmet använder kodningen latin-1 (kallas också iso-8851-1) men datorn (en Mac) använder som default Unicode (utf-8). Lösningen här är att använda flaggan -encoding för att ange hur programmet är kodat. Från kommandoraden:

javac -encoding iso-8859-1 Nm.java

Om du använder ett IDE finns det troligtvis någon annan mekanism för att ange kodning.

Java hittar inte filer

Javas kompilator och run-timesystem använder olika systemvariabler för att ange sökvägar (paths) för att hitta olika typer av filer, till exempel källkod, objektkod eller gif-filer (som lagrar bilder).

"Paths" används i många sammanhang så du kommer att ha nytta av att lära dig lite om hur det fungerar.

Börja med att se denna dokumentation: http://docs.oracle.com/javase/tutorial/essential/environment/paths.html