Skip to content

Instantly share code, notes, and snippets.

@anushshukla
Last active November 21, 2022 09:25
Show Gist options
  • Select an option

  • Save anushshukla/83e1397b43ea57d55b3a2e9a0f03b55e to your computer and use it in GitHub Desktop.

Select an option

Save anushshukla/83e1397b43ea57d55b3a2e9a0f03b55e to your computer and use it in GitHub Desktop.
Pull / Merge request checklist template

Functionality Checklist

  • Environment variables are up-to-date
  • Infra changes are provisioned
  • Business logic compliant
  • Required migration scripts added
  • Changes are backward compatible
  • Breaking changes if any, information is broadcasted to relevant audience
  • Self review of the PR is completed
  • Internal team / peer review of the PR is completed
  • Any dependent changes have been merged and published in downstream modules
  • Cache is refreshed wherever applicable

Quality checklist

  • Formatted
  • Linted
  • Quality controlled (Sonarlint)
  • No test case failing
  • Minimum 80% test coverage

Documentation checklist

  • Project documentation (README.md)
  • Code documentation
  • API documentation
  • Developer comments are added to make the code more readable and maintainable
  • // @ToDo developer comments are added for tracking tech debts

Best practices checklist

  • Changes are not duplicated and modular for reusability
  • Relevant util functions and helper classes are created for reusability

Security checklist

  • Security vulnerability checks
  • Project dependencies audit check
  • Sensitive information are
    • not logged
    • not stored
    • masked wherever required
  • Data encryption wherever applicable
  • Malicious data injections prevented

Performance checklist

  • Non-interdependent asynchronous operations are executed in parallel
  • Independent asynchronous operations are executed in the background and not awaited
  • Interdependent operations are awaited and in the correct order
  • Race conditions are avoided
  • Deadlocks are avoided
  • Unnecessary network requests are not made in a loop
  • Data is fetched from cache wherever applicable
  • Database read query request are made to its slave resources
  • Application is running in cluster mode if needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment