My team of about 70 programmers is developing C and C++ code for embedded, multiprocessor, image-processing project. We have a coding standard, and hold design and code reviews. The problem is that we don't have solid design review checklist.
Currently we have scattered design checklists, but most of them are vague. For example, you might find statements like these:
- Component design should be extendable.
- Coupling should be reduced between modules.
The problem of these statements is that they are totally subjective and not measurable. Extendable design for me might means something else for another one.
Is there some kind of widely accepted or proven checklist or design rules that can serve as a basis for our design reviews, especially for our object-oriented C++ code base?