[FOLIO-1668] Decide upon a code review policy and/or guidance Created: 21/Dec/18  Updated: 25/Jan/23  Resolved: 25/Jan/23

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P3
Reporter: Marc Johnson Assignee: Jakub Skoczen
Resolution: Won't Do Votes: 0
Labels: potential-decision
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Sprint:

 Description   

Given that contributions to FOLIO are coming from more teams and people
Then it could be useful to establish a shared consensus on what aspects to review during a code review

I imagine in the future this may refer to the definition of done that the Technical Council have been working on.



 Comments   
Comment by Marc Johnson [ 21/Dec/18 ]

The check list I currently use is as follows (it predates the definition of done and so does not reflect that, and coverage varies significantly by module so I treat on a per change basis).

  • Do the changes meet the intended purpose described in the feature or story?
  • Is it up to date with master, either via a merge into the branch or a rebase (can it be straight auto-merged)?
    • Do the tests pass?
  • Do the tests reflect the changes?
    • Do the tests reflect scenarios described in the story or feature?
    • Doe the tests reflect common failure or validation scenarios?
  • Are there up to date examples in the JSON.schema?
  • Do the RAML and JSON.schema pass checks (e.g. RAMLCop)?
  • Is there sample data (particularly for (fixed) controlled vocabularies)?
  • Has the implementation version been updated (Did the behaviour change)?
    • In the maven pom.xml (or similar)
  • Has the interface version been updated (Did the client protocol change)?
    • In the module descriptor
    • In the interface definition
  • Does the module descriptor expose the right interfaces and dependencies?
  • Are the dependent interface versions provided by another module?
  • Are the correct module permissions expressed on each endpoint?
  • Are the correct permissions expressed on each endpoint?
  • Are all of the permissions defined?
  • Are all of the permissions in the “all” set?
  • SonarQube metrics
  • Does the JIRA issue have the correct
    • project
    • fix version
  • Do the commit messages have issue reference?
  • Are there any snapshot dependencies (for backend modules)?
Generated at Thu Feb 08 23:15:01 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.