Здравствуйте, Олег К., Вы писали:
N>>Это не вопрос для размышлений, это приём такой, старый и действенный.
ОК>Нелогичность тут, однако. Как поступит компилятор с просто объявленными (но неопределенными) public и protected функциями которые нигде не вызываются?
Скомпилирует, при возможности. А затем линкер сообщит о проблеме. Во избежание компиляции их делают private. Двойная защита.
N>>Ты только что рассказывал как ты лишний код пишешь
ОК>Вообще-то, повторюсь, я бы такие навороты не стал писать в первую очередь.
Значит ты используешь более бедные средства и твой код может быть небезопасен, менее расширяем и реиспользуем.
Во всём нужна мера, но это не значит, что имеет смысл игнорировать языковые конструкции там где они будут полезны.
ОК>>>ненужная дополнительная complexity.
N>>При профессиональном подходе — наоборот. Введение локальной сложности сильно упрощает систему в целом. Многократно проверено.
ОК>Ты, видимо, мало поддерживал кода написанного другими с таким же мнением как и у тебя.
Не в обиду: учитывая, что ты показал недопонимание базовых конструкций?

Не удивительно.
Я много всякого кода поддерживал, в том числе занимался портированием STL и модифицировал boost. Бедный на язык код, как правило поддерживается много хуже (с С++ у меня хорошо). Сейчас вот как раз с подобным маюсь.
При решении задачи — первым делом нужно подготовить псевдоязык/библиотеку, как набор терминов этой задачи. Вот люди у которых проблема с языковыми конструкциями не умеют и библиотеки делать, отсюда решение задачи осуществляется неподходящими методами и поддержка сильно осложняется.