Любая сложная технология неотличима от волшебства. (Артур Кларк)
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте Anatolix, Вы писали:
A>Здравствуйте Vladimir Khatzkevich, Вы писали:
VK>>b) качественный код не должен содержать кусков, написанных на всякий случай — "вдруг пригодится?".
A>Тогда MFC да и вообще любая библиотека это некачественный код. Т.к. не понятно что в ней будет пользоваться а что нет.
Вы, уважаемый, путаете калий с кальцием или придираетесь к словам.

С таким же успехом можно сказать, что код, реализующий некую функциональность в программе, нафиг ненужную пользователям, есть плохой код. Но причём здесь код?

Тут должны быть претензии к дизайну, а не к коду. Но вот если дизайн программы был пересмотрен и ненужная функциональность выброшена из пользовательского интерфейса, а код остался, то да — это плохой код.
Ещё раз повторюсь,
ненужный или
лишний код —
плохой код. Хотя бы потому, что увеличивает общий объём кода программы и тем самым ухудшает её читабельность.
В качестве примера лишнего кода: функции, которые нигде не вызываются, порой даже целые иерархии классов, cуществующие сами по себе, наличие пустых виртуальных функций, созданных для будующего развития потомков, но увы оказавшиеся ненужными или даже вредными. Полагаю список этот можно продолжить.
Что же касается библиотек, то тут Вы тоже ошибаетесь. Библиотеки пишутся для решения типовых задач, а не навсякий случай.

И подбор этих типовых задач, также проблема дизайна. А вот качество реализации напрямую связано с качеством кода.
И напоследок об MFC. Уж не хотите ли Вы сказать, что у MFC хороший код?
Любая сложная технология неотличима от волшебства. (Артур Кларк)