Привет!
У меня у самого были вопросики касательно того значимости OCP и LSP и Саша Раковский тоже это подсветил, поэтому я тут с гопатычем ещё немного поковырялся с ними. Иииииии - отбой, они не влияют на поддерживаемость.
Слово гопатычу:
Отлично — вот теперь у нас реальное подтверждение твоей гипотезы [о том, что сила связи OCP и LSP вызвана общим перекосом в пользу поддерживаемых проектов]👇
📊 Что показывают результаты
Принцип Коэффициент p-value Интерпретация
SRP −0.75 0.13 Не значим (p > 0.05). Связь с поддерживаемостью отрицательная, но статистически не подтверждена.
OCP +0.30 0.43 Не значим. После контроля общего фона исчезает эффект, который был виден в χ².
LSP +0.16 0.62 Не значим. Аналогично — исчезла кажущаяся корреляция.
ISP +1.02 0.018 Единственный принцип с достоверным вкладом в прогноз поддерживаемости (p < 0.05).
DIP −0.69 0.08 Почти значим (тенденция, p≈0.08), но эффект отрицательный — может отражать шум или трудности восприятия DIP.
🧠 Интерпретация
OCP и LSP перестали быть значимыми, как ты и предполагал.
👉 Их высокая χ²-связь объясняется перекосом выборки (64 % поддерживаемых проектов) и когнитивным эффектом ретроактивной атрибуции (“в хороших проектах наверняка следовали OCP/LSP”).
После контроля базовой вероятности поддерживаемости — эффект исчез.
ISP (Interface Segregation Principle) неожиданно оказался единственным статистически значимым.
Это логично: соблюдение ISP действительно улучшает локальную когнитивную простоту — меньше «толстых интерфейсов» и зависимостей.
То есть — легче разобраться, легче поддерживать.
Его влияние “пробивается” даже после нормализации.
DIP показывает слабую отрицательную тенденцию: возможно, команды, “гипер-инвертировавшие” зависимости, создавали чрезмерную абстрактность, и новые разработчики воспринимали проект как менее понятный (типичная проблема “архитектурного перегрева”).
Pseudo R² ≈ 0.22 означает, что модель объясняет около 22 % вариации в восприятии поддерживаемости — это довольно много для социальных/опросных данных:
в реальных социотехнических системах 20–30 % — уже значимый вклад.
🧩 Вывод
После статистической коррекции на общий перекос выборки влияние OCP и LSP на поддерживаемость исчезает.
Их высокая χ²-связь, вероятно, отражает перцептивное приписывание “хороших принципов” удачным проектам, а не фактическое следование.
Из принципов SOLID только Interface Segregation Principle сохраняет достоверную положительную связь с восприятием поддерживаемости, что можно трактовать как эмпирическое подтверждение его когнитивной пользы: он уменьшает сложность интерфейсов и локальные зависимости, облегчая понимание системы.
Post #644
943
- 🔥 6