Ниже неоднократно высказана мысль - писать на Си++ можно
существенно понятнее чем на классическом Си. Но требуется
невероятная самодисциплина, чтобы не переборщить с "использованием
фишек языка". По сути, писать нужно на Паскале-с-классами, выдерживая дисциплину
отдельно описания типов, отдельно переменных-объектов, отдельно кода.
С минимальным использованием шаблонов (шаблоны сильно лучше чем си-шные макросы, но все равно "переход в подпространство", и по этому зло)
Правильный код текст программы должен поддаваться формальной верификации
и должен быть обложен тестами.
Хороший комментарий - половина экрана текстового описания что делает модуль, вверху файла.
С указанием какие объекты/классы основные, а какие вспомогательные и как они взаимодействуют.
Возможно, годная вещь namespaces и модули, но я в основном сопровождаю написанное ранее. Без них.
Не на столько они хороши чтобы перепахивать рабочий код.
На самом деле, все это вчерашний день - говорить нужно о ПАТТЕРНАХ ПРОЕКТИРОВАНИЯ программного обеспечения.
Их не дураки придумали. Это лучшее что родила индустрия за последние тридцать лет.
Объяснять коллегам что ты там накодил существенно проще, когда говоришь о конечных автоматах, фабриках, стратегиях, чем без них, на голых классах и объектах.