Skip to content
Patrick Niklaus edited this page May 16, 2015 · 1 revision

Code Review

This is a template checklist for reviewing every larger pull request:

- [ ] Rebased on develop
- [ ] Formated using `clang-format`
- [ ] Code uses the estabilished naming convention:
  - Methode names are CapitalCamelCase
  - Function names are camelCase
  - Variable and attribute names use under_score
  - Namespaces use under_score
  - std-like util functions use std-like style
- [ ] Is everything that could be const declared as const?
  - Methodes
  - Variables
- [ ] Is `auto` used whenever possible?
- [ ] General structure:
  - Do the methodes make sense to you?
  - Can the control flow be easily interfered?
- [ ] Documentation
  - Is the behaviour of important functions documented?
  - Is the idea of important classes documented?
  - If the algorithm is based on a specific paper: Is there a citation?
- [ ] Are there enough assertions?
  - Are indices calculations checked by assertions?
  - Is external data (e.g. read from disk) checked by assertions?
  - Are important assumptions checked by assertions?
- [ ] Tests
  - Do the tests pass?
  - In case of new functionality: Where tests added?
  - Do you see parts that could be better tested by Unit tests?