Review by Group PP-BoardGames
Review form
-
-
G1: How creative is the project? (
0
: I've seen this on Youtube,1
: not creative2
: average,3
: creative,4
: very creative,5
: wow!)-
Answer:
2
- Justification: The type of program is not unique as there is a similar one made in other languages
-
Answer:
-
G2: How difficult was it to implement the project? (
0
: no challenge,1
: very easy,2
: easy,3
: fair,4
: complex,5
: insane)-
Answer:
4
- Justification: Making a Spring Boot application + Web Scraper can be challenging
-
Answer:
-
G3: List 3 positive aspects of the project. Motivate your selection.
- 1. Well organized
- 2. Jacadoc are very well documented
- 3. The code structure is very easy to read
-
G4: List 3 negative aspects of the project. Motivate your selection.
-
1. There is some forgot code and comments
-
2. There is no usage of SpringBoot components as service or Repo
-
3.
-
Programming techniques
-
PT1: Evaluate how well 5 programming techniques we learned throughout the course were adopted in the project. Assign a mark from
0
to5
to each technique, where0
means completely incorrect usage and5
means perfect usage.-
1. Custom exceptions
-
Answer:
5
-
Justification: There is an exception for almost any error possible
-
2. Exception handling
-
Answer:
5
-
Justification: Every exception is throw with some way to recover the error
-
3. Streams
-
Answer:
5
-
Justification: Correct usage of streams
-
4. Collections
-
Answer:
5
-
Justification: Collections are very well implemented
-
5. Serialization / Deserialization
-
Answer:
4
-
Justification: The Seralization and Deserialization is very well implemented for saving but a bit confusing with the
.csv
part
-
Git repository
-
GR 1: How appropriate is the
.gitignore
file of the project? (0
: missing,1
: very bad,2
: bad3
: average,4
: good,5
: very good)-
Answer:
2
-
Justification: The project does not ignore any IDE folder and
target
folder
-
Answer:
-
GR 2: How appropriate is the
README.md
file of the project? (0
: missing,1
: very bad,2
: bad3
: average,4
: good,5
: very good)-
Answer:
4
-
Justification: The
README.md
is very well written and it explains very well how the app works but there is no instruction on how to deploy the project only on how to run it.
-
Maven
-
M1: Can you compile the project via Maven? (
0
: no,1
: yes, but...,2
: yes)-
Answer:
2
- Justification:
-
Answer:
-
M2: Can you clean the project via Maven? (
0
: no,1
: yes, but...,2
: yes)-
Answer:
2
- Justification: There is no documentation on getting a package
-
Answer:
-
M3: Can you run the project via Maven? Check
README.md
on how to run the project. (0
: no,1
: yes, but...,2
: yes)-
Answer:
2
-
Justification: By following the
README.md
you can run the project
-
Answer:
-
M4: Are the project's dependencies appropriately configured in
pom.xml
? (0
: no,1
: some,2
: yes)-
Answer:
2
- Justification: There is only a small problem, there is duplication on the dependencies
-
Answer:
-
M5: Are all Maven plugins appropriately configured in
pom.xml
? (0
: no,1
: some,2
: yes)-
Answer:
0
- Justification: The plugin for making packages and starting the application in maven are not present
-
Answer:
-
M6: Does the project adopt Maven's standard directory layout? (
0
: no,1
: yes, but...,2
: yes)-
Answer:
2
-
Justification:
-
Testing
-
T1: Are all tests passing? Run
mvn test
. (0
: no,1
: yes, but...,2
: yes)-
Answer:
2
- Justification:
-
Answer:
-
T2: How well do the tests cover the code? (
0
: no tests,1
: no important method,2
: some important methods,3
: most important methods,4
: all important methods,5
: 100% test coverage)-
Answer:
4
- Justification:
-
Answer:
-
T3: Do the tests actually verify the expected behavior of the program? (
0
: no tests,1
: useless tests,2
: most don't,3
: some do, some don't,4
: most do,5
: awesome tests)-
Answer:
4
- Justification:
-
Answer:
-
T4: How well can you understand what the tests are supposed to verify? (
0
: no tests,1
: what is going on?,2
: most are not understandable,3
: some are understandable, some aren't,4
: most are understandable,5
: all test are understandable)-
Answer:
5
-
Justification: The test are very well explained
-
Documentation
-
D1: How understandable is the Javadoc written for classes, fields and methods of the program? (
0
: no documentation,1
: very poor,2
: poor,3
: average,4
: good,5
: awesome)-
Answer:
4
- Justification: The Javadoc is explained clearly
-
Answer:
-
D2: How useful is the Javadoc written for classes, fields and methods of the program? (
0
: no documentation,1
: irrelevant,2
: little utility,3
: average,4
: useful,5
: very useful)-
Answer:
5
- Justification: The Javadoc is explained clearly and it's very easy to understand the code
-
Answer:
-
D3: Can you generate documentation files for this project? Run
mvn javadoc:javadoc
. (0
: no,1
: yes, but...,2
: yes)-
Answer:
2
- Justification: Using the command it generate the javadoc but with some error for missing param
-
Answer:
-
D4: How adequate are the non-javadoc comments written throughout the code? (
0
: mostly inadequate,1
: average,2
: mostly adequate,3
: awesome)-
Answer:
2
-
Justification: It's very easy to go throughout the code as everything is commented
-
Code quality
-
Q1: Is the code style adopted throughout the project consistent? Consider how whitespace is represented (spaces or tabs), tab size, naming conventions for classes, methods and variables, indentation, braces usage, line width. See Google Java Style Guide as an example of code style guidelines. (
0
: no,1
: yes, but...,2
: yes)-
Answer:
2
- Justification: The code is not formated in google style and there are some missing white spaces and some constructors are very long
-
Answer:
-
Q2: How would you rate the project in terms of code duplication? (
0
: a lot of duplication,1
: some duplication,2
: barely any duplication,3
: no code duplication / only justifiable duplication)-
Answer:
2
-
Justification: There is some duplication in the
DataController
for theResponseStatusException
-
Answer:
-
Q3: How easy it is to understand how the program works by looking at the source code? (
0
: mostly hard to understand,1
: some fragments are hard to follow,2
: not hard, but not easy,3
: easy to understand)-
Answer:
3
- Justification: Everything in the program is very well commented and structured, Apart from some missing subfolder
-
Answer:
-
Q4: Is any section of the program excessively inefficient? (
0
: mostly hard to understand,1
: some fragments are hard to follow,2
: not hard, but not easy,3
: easy to understand)-
Answer:
2
-
Justification: There are some parts of the code that can be simplified like the constructor of
Stats
-
Answer:
-
Q5: Does the program crash unexpectedly (e.g. by an uncaught exception)? (
0
: all the time,1
: rarely,2
: it happened once,3
: never)-
Answer:
3
-
Justification: Program work fine, there is only a small problem in the
TeamCallable::scrapePlayerData
throw the wrong error
-
Answer: