This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content

Candidates for Code Smells in Peer Reviews

I see various code smells in Peer Review Branch

  • Review Status is a string. Better would be an enum.
  • Warum ist in der Review-Entity requestedBy die UserId, aber in der ReviewRating-Entity user der tatsächliche Nutzer? Besser auch in der Review-Entity den Nutzer verwenden?
  • Reivew.requestedBy ist ein Long? Warum kein Link auf User?
  • Likes.getUserId sollte eigentlich den User nicht die Id liefern (altbestand)
  • Review.resource und Review.resourceId: wie hängt das zusammen?
  • Review.resource ist in der Integrations-DB unique? Ist das Sinnvoll? Wenn verschiedene Autoren ihre gemeinsame Aufgabe zum Review anmelden, was passiert dann?
  • Review.resource ist wohl die ExerciseId? Inkonsistent z.B. mit Statistics.exerciseId
  • ReviewService.update ist sehr ungewöhnlich: Löscht erst alle ReviewRatings und legt sie anschliessend neu an? Das erste Problem ist, dass die ReviewRatings alle neue Ids bekommen. Ausserden ist das Update extrem komplex.
  • Security: Jeder, der angemeldet ist, kann den REST-Service für die Review Info abrufen? Jeder kann Review Werte über den REST Service ändern?
Edited by Eduard Frankford