Core Review checklist (Naming and code clarity (Class or structure (no…
Core Review checklist
Naming and code clarity
Do I understand what function does?
Do I understand what variables mean
Are there redundant explicit types that can be easily avoided?
Is there unused code?
Are there comments that are misleading or unnecessary?
Is there duplication?
Are naming conventions adhered?
Is include files order correct?
Mixing different levels of abstraction
Class or structure
no public data members
If function returns its status - check return value
If function throws - should E be propagated
prefer references to pointers
use gsl::not_null for pointers that cannot be null
Containers & Algorithms
Prefer boost algorithms to stl
Is there accidental pass by value
use optional to represent empty value