javaneil / Carson

Carson the Coffee Butler
0 stars 0 forks source link

Code Review 3 #6

Open LucasTolly opened 7 years ago

LucasTolly commented 7 years ago

Design/Code Review 3

Project: Carson

Developer: Neil Fortney

Reviewer: Lucas Tolly

Category Criteria Rating/Comments
Project Overview
Which planned functionality has been met? It successfully gets information about coffee from the MySQL database.
What planned functionality has not been met? Display information about other entities, such as locations.
Describe the GitHub history and what it demonstrates about the project progress during the semester. The project progress looks to have been fairly consistent.
Describe how peer and instructor feedback/recommendations were incorporated into the project? A lot of stuff hasn't been built out yet, which is primarily what the previous feedback talks about.
Other comments/notes? I think there's definitely an issue of focus; Building out the web pages/backend should take priority over extra stuff.
JSPs
Evaluate the JSPs for templating, business logic, data validation, overall look and feel. Styling on JSPs appears to be non-existant.
Other comments/notes?
Java code quality Evaluate the code quality for the following and identify specific areas for improvement (class, method or line number)
  • single-purpose methods
  • well-structured project
  • descriptive naming of packages, classes, methods, variables
  • classes appropriately-sized (no monster classes)
  • CPD (copy paste detection, meaning are the same lines of code repeated
  • are there candidates for super/subclass relationships, abstract classes, interfaces?
  • are any values hard-coded that should be in a properties file?
  • proper exception handling
  • proper error reporting to the user
  • code documentation
  • From whats been built out currently, a lot of the methods seem to follow good protocol, ie using single purpose methods to accomplish business logic.
    Other comments/notes?
    Logging Evaluate the use of logging, for example:
  • appropriate use of logging statements in the code for error logging and debugging
  • logging levels used - info, debug, error
  • no occurrences of System.out.printlns or printStackTrace()
  • logging works on Digital Ocean deploy
  • Other comments/notes? Logging happens consistently throughout the application to gather errors that occur.
    Unit Tests Evaluate the unit tests, for example:
  • tests are truly a unit test rather than a high level functional test
  • test data is appropriately cleaned up or handled
  • there is full coverage of methods that perform business logic or utility functions
  • redundant code is eliminated by using set up and tear down methods, i.e., @Before, @After
  • Test look fairly good, proper use of @Before. It might not be the best idea to rely on a Webservice for the Test.
    Other comments/notes?
    Security Evaluate authentication/authorization:
    Is it implemented correctly and working locally as well as on Digital Ocean? Basic user/admin system has been deployed to AWS
    Other comments/notes?
    Web Service/API integration Evaluate the service/api integration, for example:
  • Which service/api is implemented?
  • how is error handling of the service implemented? For example, What happens if the service is not available?
  • The service used is a self-made one, which is interesting. It does require more application upkeep, however, which might be hard to manage when everything is built out.
    Other comments/notes?
    Independent research topic What is the independent research topic? Bluetooth integration.
    Is the independent research topic/technique implemented in the project? The backend appears to be there. Still needs to be implemented into the project in a useful and functional way.
    Other comments/notes?
    Deployment Has the application been successfully deployed to AWS or another hosting service? Yes
    Is the hosted application fully functioning? The application has been deployed, it has not, however, been brought up to the most recent version.
    Other comments/notes?