Il mio team di circa 70 programmatori sta sviluppando codice C e C ++ per progetti embedded, multiprocessore e di elaborazione delle immagini. Abbiamo uno standard di codifica e conserviamo revisioni del design e del codice. Il problema è che non abbiamo una solida lista di controllo per la revisione del design.
Attualmente abbiamo liste di controllo del design sparse, ma la maggior parte di esse è vaga. Ad esempio, potresti trovare affermazioni come queste:
- La progettazione del componente deve essere estensibile.
- L'accoppiamento dovrebbe essere ridotto tra i moduli.
Il problema di queste affermazioni è che sono totalmente soggettive e non misurabili. Il design estendibile per me potrebbe significare qualcos'altro per un altro.
Esiste una sorta di checklist o regole di progettazione ampiamente accettate o comprovate che possono servire come base per le revisioni del design, in particolare per la nostra base di codice C ++ orientata agli oggetti?