Iandris / myCine

0 stars 0 forks source link

Review by O Collins #5

Closed ocollins closed 7 years ago

ocollins commented 7 years ago

Design/Code Review 2

Project: MyCine

Developer: Mike Young

Reviewer: Olena Collins

Category Criteria Analysis/Comments
Running application
Describe the application functionality that has been built and is working. The application already has a lot of functionality. This includes login and authorization, user registration, movie search and add to the database option.
What is good? The application flow is very clear and it is easy to navigate. Looks like it is ready to be presented to the world.
What could be improved? Cannot think of anything really
Unit Tests
What are the code coverage statistics? Most classes have 100% code coverage.
Are @Before/@BeforeClass/@After/@AfterClass used to reduce redundant code? The annotations are used appropriately and no redundant code present at this time.
JSPs
Is templating used to eliminate rundandant code(for example, header.jsp, footer.jsp, etc.) Commonly used jsps are placed into template jsps and used where appropriate. No redundant code present at this time.
What is good? All screens look very professional. The design is simple, elegant and very appropriate for the type of application.
What could be improved? Nothing at all
Code quality
Are methods single-purpose? Can possibly break down the doPost method in AddMovieLibraryServlet. The rest look great.
Are classes appropriately-sized classes (no monster classes)? All classes appropriately-sized.
Are the same lines of code repeated at all? No redundant code present at the time.
Do any classes perform very similar functions that could be candidates for super/subclass relationships? All classes purposed for different tasks and super/subclasses are used appropriately
Are any values hard-coded that should be in a properties file? Did not see any
Are variable names descriptive? All names of variables/classes/methods very descriptive and easy to understand what they represent.
Are there many branches or loops that could be simplified or broken up into smaller methods? No
Do the DAOs use Hibernate? No hard-coded sql! All DAOs use Hibernate
Has log4J been added? Yes
Are there logging statements in the code? Yes
Are appropriate logging levels used? Info, debug, error, for example.
Are there any System.out.printlns in the code? Did not see any.
Other comments/notes?
Web Service/API integration Which web service/api is being used? https://www.twilio.com/docs/libraries/java and http://www.omdbapi.com
Is the integration built? Everything looks like it is in place and working nicely.
If so, evaluate the integration code. What is good? What could use improvement? All code looks nicely structured, broken down to small functional items.
Independent research topic What is the developer's independent research topic? Will be added later
Has the topic been implemented in the project?
If so, evaluate the implementation. What is good? What could use improvement?
Key takeaways List at least 3 things you learned while reviewing this project that will help you in your own project. Very helpful use of @Before/@After in testing, Hibernate relationships in entities