ssossossosso
 RSS
code-peer-review-checklist

Performing an Efficient Peer Code Review, Part II. Checklist

In Part 1 of the Code Review series, we shared best practices for performing code peer review that has proven to be effective when delivering Oro applications.

Today we share our code review checklist that you can use when preparing for the code inspection. It will help you determine if the code is delivered in line with the coding standards and if it could be improved. Download our extensive code review checklist for a comprehensive compilation of most important aspects of quality, maintainable code.

Here is a brief overview of the checklist. For complete details and use examples, download the full checklist.

Functional Review

  • Functionality works as described
  • Related functionality is identified and tested
  • Manual check throughout the production environment

Architectural Review

  • Apply SOLID, KISS, DRY, GRASP and YAGNI principles
  • Functionality is implemented using relevant architectural design
  • No duplicate implementations
  • Extensibility points

Implementation Review

  • Code defects
  • Security vulnerabilities
  • Memory consumption
  • Performance issues (code and storage)
  • Logger
  • Boundary values
  • Code readability
  • Private services in DI container
  • Translatable static data
  • Docblocks for classes and methods

Automated Tests

  • Unit tests: class level   
  • Functional tests: application level
  • Functional tests coverage
  • Functionality fully covered with tests

Documentation

  • Developer documentation
  • Solution extendability
  • User documentation code examples

Feel free to use this checklist whenever you need to ensure that the code under review achieves its purpose and that the implementation is consistent across the application.

In our final installment of the Code Review series, we’ll share tips on how to optimize the peer code review process, followed by a FAQ where you’ll find answers to the most common questions about the code audit. Stay tuned!