Иван Денисов писал(а):
1. Наличие нескольких модулей для одного расширения усложняет понимание системы. Скажем кому-то не надо вообще StdStdCFrames, ему нужен только WinCFrames, мы ведь поддерживаем еще и старую сборку MDI, где эти кросс-платформенные инструменты являются опциональными.
ну так в этом случае оно лежит себе и никому не мешает. дабы облегчить понимание, в Docu просто кладётся документ, где кратко описывается, что это за Guts, и зачем он нужен. (я всё равно буду делать нечто отдалённо похожее на документацию к нему.)
Иван Денисов писал(а):
2. Наличие большого числа файлов в дистрибутиве усложняет его упаковку, распаковку, копирование. Особенно на Windows. С недавних пор еще и Cinammon начал жутко тупить, если на рабочем столе ему положить папку в которой много файлов. Так что много файлов в дистрибутиве это плохо.
ой, ну право. XXI-й век, 2023-й год. хранилища на кучи терабайт. техника не справляется с сотней файлов. где мы свернули не туда? ;-)
Иван Денисов писал(а):
3. Компонентный подход в разработке поощряет копирование кода.
а вот этот интересный тезис я слышу в первый раз, честно признаться. я всегда считал, что компонентный подход — это про создание хороших интерфейсов (ABSTRACT RECORDS), и реализацию их независимыми друг от друга компонентами. которые вовсе не обязаны состоять из одного модуля, и тем более из копипасты. ну, одна из бед BBCB — фактически одноуровневая система каталогов, из-за которой в подсистемах иногда получается бардак. но это, по моему мнению, просто недоработка BBCB, а не нечто имманентно присущее компонентному программированию. но и тут, мне кажется, StdStdCFrames — это не очень удачное для них место: этой реализации давно пора уехать в свою личную подсистему.
Иван Денисов писал(а):
4. Это может существовать у вас в системе в такой трехмодульной конфигурации. А в дистрибутив вполне достаточно одного модуля.
вы меня всё ещё не убедили, но если вы хотите в дистрибутиве их объединять — то, конечно, пожалуйста. я просто не вижу смысла тратить время на лишнюю работу по копипасте кода и замене идентификаторов лишь для того, чтобы свалить в одну кучу вещи, довольно чётко зависящие друг от друга только в одном направлении. но, повторюсь, если вы хотите именно так — то я не буду иметь ничего против того, чтобы вы модифицировали мой код как считаете правильным. в принципе, можете даже потом (когда я допилю) просто не включать мой NS-like вид, и оставить только тот, что был (потому что иначе надо будет везде долго и нудно править идентификаторы, чтобы слить всё в один модуль).