vak: (Default)
[personal profile] vak
Для начала я просто список составлю. Американцы любят ёмкие сокращения, поэтому у каждого принципа или правила есть короткое название из трёх-четырёх-пяти букв. Принципы можно условно разделить на две группы: позитивные и негативные.

Позитивные принципы советуют вам, как следует поступать.
  • SRP - Single Responsibility Principle
  • SLA - Single Level of Abstraction
  • OCP - Open-Closed Principle
  • LSP - Liskov Substitution Principle
  • ISP - Interface Segregation Principle
  • DIP - Dependency Inversion Principle
  • FCoI - Favor Composition over Inheritance
  • PLA - Principle of Least Astonishment

Негативные принципы предостерегают от всякой фигни.
  • DRY - Don't Repeat Yourself
  • AHA - Avoid Hasty Abstractions
  • YAGNI - You Aren't Gonna Need It
  • LoD - the Law of Demeter, or don't talk to strangers
  • KISS - "Keep It Simple, Stupid!"

Date: 2024-03-16 08:34 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

В теории всё это очень хорошие принципы. Да интерпретация, бывает, сильно различается. YAGNI я слышал в Гугле каждый раз, когда что-нибудь обобщал. А...

Мои любимые - KISS, LoD, PLA.

DIP тоже хорошая вещь, да его, опять же, интерпретируют обычно криво.

Date: 2024-03-16 08:45 (UTC)
From: [personal profile] ichthuss
Не хватает еще одного, от Илона нашего Маска: ASS - Acronyms Seriously Suck.

Date: 2024-03-16 14:54 (UTC)
prool: cat (Default)
From: [personal profile] prool
WTF!

Date: 2024-03-16 15:59 (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9

По-моему эти принципы либо толком не определены, либо взаимно противоречивы. Отсюда непонятно, как им следовать.

Например, в правиле DRY написано "don't repeat yourself", а в следующем правиле AHA написано "prefer duplication over the wrong abstraction". Вместе получается "за всё хорошее и против всего плохого".

Date: 2024-03-16 17:57 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Вроде ж есть наглядные примеры прямоугольник-квадрат, эллипс-окружность, где смешивать общее и частное проблематично (типа наследовать квадрат и окружность от прямоугольника и эллипса), т.е. напрашивается некоторая дубликация.