Review by MysteryCrew
General
- 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 idea is creative, but the graphic content is poor
- G2: How difficult was it to implement the project? (
0
: no challenge,1
: very easy,2
: easy,3
: fair,4
: complex,5
: insane)- Answer: 3
- Justification: They use FXML that could be the extension of scene builder
- G3: List 3 positive aspects of the project. Motivate your selection.
- 1. clear map, easy to understand
- 2. easy to understand how to use the program
- 3.
- G4: List 3 negative aspects of the project. Motivate your selection.
- 1. On the "vehicles" section, if you assign a specific drive license, a fire fighter with a different drive license could be assigned as well.
- 2. in the emergency creation, whatever address you put in, the emergency location will always be on the middle of the map view.
- 3. In the "Emergency" panel, the details are cut out when the panel is re-sized.
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. <Regular-expression>
- Answer: 5
- Justification: reg-ex are correctly used
-
2. <Lambdas>
- Answer: 5
- Justification: lambda-expressions correctly written
-
3. <Test hooks>
- Answer: 5
- Justification: all test run correctly
-
4. <Exception handling>
- Answer: 5
- Justification: the exceptions are all tracked
-
5. <Collections>
- Answer: 4
- Justification: used not enough, but used correctly
-
1. <Regular-expression>
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: 4
- Justification: All files that must be ignored are ignored
- 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: cover all the indicated points, but it could be explained and formatted better than it is, for example there could be the separator lines and some pictures
Maven
- M1: Can you compile the project via Maven? (
0
: no,1
: yes, but...,2
: yes)- Answer: 2
- Justification: With the latest java version there are not compile error
- M2: Can you clean the project via Maven? (
0
: no,1
: yes, but...,2
: yes)- Answer: 2
- Justification: the clean of the project works perfectly
- 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: With the command
mvn javafx:run
, that is mentioned on theREADME.md
, make the project run correctly
- M4: Are the project's dependencies appropriately configured in
pom.xml
? (0
: no,1
: some,2
: yes)- Answer: 2
- Justification: the dependencies are appropriate
- M5: Are all Maven plugins appropriately configured in
pom.xml
? (0
: no,1
: some,2
: yes)- Answer: 2
- Justification: the plugins are appropriate
- M6: Does the project adopt Maven's standard directory layout? (
0
: no,1
: yes, but...,2
: yes)- Answer: 1
-
Justification: there are no
LICENSE.txt
and noNOTICE.txt
files
Testing
- T1: Are all tests passing? Run
mvn test
. (0
: no,1
: yes, but...,2
: yes)- Answer: 2
- Justification: all the test run without errors
- 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: 5
- Justification: the tests checks every single change
- 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: 5
- **Justification: the tests verify the behaviour of the program
- 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: 4
- Justification: some are not understandable because the title is misunderstandable
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: 3
- Justification: Most of the java documentation written for methods and classes were mostly understandable. Although some java documentations for methods didn't have parameters documented.
- 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: 3
- Justification: The java documentation helps understand how the different methods are implemented
- D3: Can you generate documentation files for this project? Run
mvn javadoc:javadoc
. (0
: no,1
: yes, but...,2
: yes)- Answer: 2
-
Justification: The
mvn javadoc:javadoc
command works as intended.
- D4: How adequate are the non-javadoc comments written throughout the code? (
0
: mostly inadequate,1
: average,2
: mostly adequate,3
: awesome)- Answer: N/A
- Justification: There are not non-Javadoc comments, but they are mostly not required.
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: 1
- Justification: sometimes there are useless spaces
- 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: some codes about the map's Lambda expression are the same
- 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: 1
- Justification: there are too many methods
- 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: I didn't understand it well
- 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: the program has never crashed
Edited by Scopelliti Emmanuel (Student Com20)