SOLID и другие аббревиатуры
Читатель Дмитрий снял с языка одну мысль, которую я приберег для отдельной заметки. Если коротко, все удачные аббревиатуры вроде SOLID, как правило, высосаны из пальца. Вероятность, что первые буквы пяти слов образуют другое емкое слово, равна нулю. Поэтому слова подгоняют под аббревиатуру.
Другими словами, сначала придумывают емкий термин, затем под каждую букву ищется слово. Разумеется, за уши притягивают лишние слова, как например принцип Liskov, который никому не сдался. Но без Liskov не получилось бы слова, поэтому пришлось взять.
В своем комментарии Дмитрий приводит пример. Берем выразительную аббревиатуру, например ANALSEX и просим чат-ГПТ придумать расшифровку. Чат справился прекрасно:
-
A: Abstraction Focus on hiding complex implementation details and exposing only essential features.
-
N: Normalization Ensure that data structures and databases are designed efficiently, avoiding redundancy.
-
A: Automation Prioritize automating repetitive tasks and workflows to increase efficiency and reduce errors.
-
L: Loose Coupling Design components to have minimal dependencies, making systems more modular and easier to maintain.
-
S: Scalability Build systems capable of handling growth in users, data, and operations effectively.
-
E: Encapsulation Keep implementation details private within modules or classes, exposing only necessary interfaces.
-
X: eXpandability Design with future growth and adaptability in mind, ensuring that new features can be added without major rewrites.
Особенно хорош последний пункт. Слов на X мало, поэтому чат выделил вторую букву в eXpandability.
И главное, все по делу: абстракции — нужны, автоматизация — нужна, масштабирование — нужно, расширяемость — тоже. Не прикопаешься. Так что всем внедрять ANALSEX! Обсудите с коллегами и расскажите начальству.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter