All Projects → mgreiler → Code Review Checklist

mgreiler / Code Review Checklist

Licence: mit
This code review checklist helps you be a more effective and efficient code reviewer.

Projects that are alternatives of or similar to Code Review Checklist

clang-tidy-pr-comments
Turn clang-tidy warnings and fixes to comments in your pull request
Stars: ✭ 24 (-88.79%)
Mutual labels:  code-review, code-quality, pull-requests
sonarqube-action
Integrate SonarQube scanner to GitHub Actions
Stars: ✭ 90 (-57.94%)
Mutual labels:  code-review, code-quality
critiq.vim
Github code reviews from Neovim
Stars: ✭ 69 (-67.76%)
Mutual labels:  code-review, pull-requests
qodana-action
⚙️ Scan your Java, Kotlin, PHP, Python, JavaScript, TypeScript projects at GitHub with Qodana
Stars: ✭ 112 (-47.66%)
Mutual labels:  code-review, code-quality
effective-code-review
Presentation about my process for making code reviews as effective as possible
Stars: ✭ 63 (-70.56%)
Mutual labels:  code-review, code-quality
inline-plz
Inline your lint messages
Stars: ✭ 32 (-85.05%)
Mutual labels:  code-review, code-quality
quickreview-for-github
Reviewing 50+ Pull Requests a day is no fun. Automate it with keyboard shortcuts.
Stars: ✭ 28 (-86.92%)
Mutual labels:  code-review, pull-requests
localhost-sonarqube
Analysing source code locally with SonarQube in a Docker environment.
Stars: ✭ 17 (-92.06%)
Mutual labels:  code-review, code-quality
Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+2021.96%)
Mutual labels:  code-review, code-quality
Android Guidelines
Project Guidelines for the Android Buffer App
Stars: ✭ 760 (+255.14%)
Mutual labels:  clean-code, code-quality
Java Concurrency
Checklist for code reviews
Stars: ✭ 842 (+293.46%)
Mutual labels:  checklist, code-review
auto-request-review
A GitHub Action that automatically requests review of a pull request based on files changes and/or groups the author belongs to 🤖
Stars: ✭ 52 (-75.7%)
Mutual labels:  code-review, pull-requests
Editorconfig Checker
A tool to verify that your files are in harmony with your .editorconfig
Stars: ✭ 119 (-44.39%)
Mutual labels:  clean-code, code-quality
Code Review Tips
🔬 Common problems to look for in a code review
Stars: ✭ 861 (+302.34%)
Mutual labels:  code-review, readability
Vscode Pull Request Github
GitHub Pull Requests for Visual Studio Code
Stars: ✭ 1,769 (+726.64%)
Mutual labels:  pull-requests, code-review
Programmers Community
This repository contains various solution of a problem in Ruby, C, C++, Python and Java.
Stars: ✭ 189 (-11.68%)
Mutual labels:  pull-requests
Checklist Checklist
🌈 A Curated List of Checklists ✔︎✔︎
Stars: ✭ 2,372 (+1008.41%)
Mutual labels:  checklist
Checklist
The protocols we follow for the things we cannot automate yet! ✅
Stars: ✭ 189 (-11.68%)
Mutual labels:  checklist
Readability
Readability is Elixir library for extracting and curating articles.
Stars: ✭ 188 (-12.15%)
Mutual labels:  readability
Github Action
Coveralls Github Action
Stars: ✭ 214 (+0%)
Mutual labels:  code-quality

Code Review Checklist

Implementation

  • [ ] Does this code change accomplish what it is supposed to do?
  • [ ] Can this solution be simplified?
  • [ ] Does this change add unwanted compile-time or run-time dependencies?
  • [ ] Was a framework, API, library, service used that should not be used?
  • [ ] Was a framework, API, library, service not used that could improve the solution?
  • [ ] Is the code at the right abstraction level?
  • [ ] Is the code modular enough?
  • [ ] Would you have solved the problem in a different way that is substantially better in terms of the code’s maintainability, readability, performance, security?
  • [ ] Does similar functionality already exist in the codebase? If so, why isn’t this functionality reused?
  • [ ] Are there any best practices, design patterns or language-specific patterns that could substantially improve this code?
  • [ ] Does this code follow Object-Oriented Analysis and Design Principles, like the Single Responsibility Principle, Open-Close Principle, Liskov Substitution Principle, Interface Segregation, Dependency Injection?

Logic Errors and Bugs

  • [ ] Can you think of any use case in which the code does not behave as intended?
  • [ ] Can you think of any inputs or external events that could break the code?

Error Handling and Logging

  • [ ] Is error handling done the correct way?
  • [ ] Should any logging or debugging information be added or removed?
  • [ ] Are error messages user-friendly?
  • [ ] Are there enough log events and are they written in a way that allows for easy debugging?

Dependencies

  • [ ] If this change requires updates outside of the code, like updating the documentation, configuration, readme files, was this done?
  • [ ] Might this change have any ramifications for other parts of the system, or backward compatibility?

Security and Data Privacy

  • [ ] What security vulnerabilities is this code susceptible to?
  • [ ] Are authorization and authentication handled in the right way?
  • [ ] Is (user) input validated, sanitized, and escaped to prevent security attacks such as cross-site scripting, SQL injection?
  • [ ] Is sensitive data like user data, credit card information securely handled and stored?
  • [ ] Is the right encryption used?
  • [ ] Does this code change reveal some secret information like keys, passwords, or usernames?
  • [ ] Is data retrieved from external APIs or libraries checked accordingly?

Performance

  • [ ] Do you think this code change will impact system performance in a negative way?
  • [ ] Do you see any potential to improve the performance of the code?

Usability and Accessibility

  • [ ] Is the proposed solution well designed from a usability perspective?
  • [ ] Is the API well documented?
  • [ ] Is the proposed solution (UI) accessible?
  • [ ] Is the API/UI intuitive to use?

Ethics and Morality

  • [ ] Does this change make use of user data in a way that might raise privacy concerns?
  • [ ] Does the change exploit behavioral patterns or human weaknesses?
  • [ ] Might the code, or what it enables, lead to mental and physical harm for (some) users?
  • [ ] If the code adds or alters ways in which people interact with each other, are appropriate measures in place to prevent/limit/report harassment or abuse?
  • [ ] Does this change lead to an exclusion of a certain group of people or users?
  • [ ] Does this code change introduce unjust impact on people, particularly those related to sensitive characteristics such as race, ethnicity, gender, nationality, income, sexual orientation, ability, and political or religious belief?
  • [ ] Does this code change introduce any algorithm, AI or machine learning bias?

Testing and Testability

  • [ ] Is the code testable?
  • [ ] Does it have enough automated tests (unit/integration/system tests)?
  • [ ] Do the existing tests reasonably cover the code change?
  • [ ] Are there some test cases, input or edge cases that should be tested in addition?

Readability

  • [ ] Was the code easy to understand?
  • [ ] Which parts were confusing to you and why?
  • [ ] Can the readability of the code be improved by smaller methods?
  • [ ] Can the readability of the code be improved by different function/method or variable names?
  • [ ] Is the code located in the right file/folder/package?
  • [ ] Do you think certain methods should be restructured to have a more intuitive control flow?
  • [ ] Is the data flow understandable?
  • [ ] Are there redundant comments?
  • [ ] Could some comments convey the message better?
  • [ ] Would more comments make the code more understandable?
  • [ ] Could some comments be removed by making the code itself more readable?
  • [ ] Is there any commented out code?

Experts Opinion

  • [ ] Do you think a specific expert, like a security expert or a usability expert, should look over the code before it can be committed?
  • [ ] Will this code change impact different teams?
  • [ ] Should they have a say on the change as well?

Find more about code reviews at www.awesomecodereviews.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].