Im ersten Teil des SoPras finden innerhalb der Gruppen Code Reviews statt. Der Code soll dabei anhand der folgenden Kriterien bewertet werden:
- Vollständigkeit
1.1: Die geforderte Funktionalität wird umgesetzt. Es fehlen keine Features.
1.2: Es existieren keine Lücken bzw. leere Code-Blöcke.
1.3: Der Code kompiliert.
1.4: Warnungen der IDE werden berücksichtigt.
1.5: Die Designentscheidungen der Gruppe wurden beachtet.
- Lesbarkeit des Codes:
2.1: Kotlin Namenskonventionen werden beachtet.
2.2: Der Code wird richtig eingerückt und formatiert.
2.3: Lange Zeilen werden vermieden (max. 120).
2.4: Alle Methoden sind gut lesbar und die Funktionsweise ist jeweils verständlich.
2.5: Starke Verschachtelung bei Loops, If- und When-Statements wird vermieden.
2.6: Länge und Funktionsumfang von Methoden sind gut gewählt.
2.7: Lange Parameterlisten für Methoden wurden vermieden.
2.8: Klassen haben eine angemessene Größe. Eine sinnvolle Zuordnung von Funktionen und Daten ist erkennbar.
- Tests:
3.1: Alle Methoden sind durch die Tests abgedeckt
3.2: Relevante Problemfälle werden mit den Tests abgedeckt.
3.3: Randfälle werden getestet.
3.4: Die Tests sind nachvollziehbar. Es ist ersichtlich, was auf welche Weise getestet wird.
- Dokumentation:
4.1: Alle Klassen sind sinnvoll dokumentiert.
4.2: Alle öffentlichen Funktionen wurden dokumentiert.
4.3: Alle öffentlichen Properties wurden dokumentiert.
4.4: Parameter und Rückgabewerte sind verständlich beschrieben.
- Private Functions und Properties:
5.1: Die Namen sind aussagekräftig
5.2: Private Funktionen und Properties wurden klein genug gewählt, so dass die Funktionsweise selbsterklärend ist.
- Sonstiges:
6.1: Es wurde kein legacy Code verwendet, der mit @deprecated annotiert wurde.
6.2: Es existieren keine ungenutzten Imports.
6.3: Es existiert kein duplicate Code.
6.4: Es existieren keine Warnungen, die durch die default Code Inspections der IDE gemeldet werden
6.5: Check und Require wurden sinnvoll eingesetzt.