Fuente
CyberBionic Systematics | Як писати код, за який не буде соромно перед Senior-ом? 💡Звичайний к...
954 Vistas/Alcance
2026-04-09 15:29
Mensaje №2105
Як писати код, за який не буде соромно перед Senior-ом? 💡Звичайний код просто «якось працює». Професійний код — легко читається, масштабується і не розвалюється, коли замовник просить додати «ще одну малесеньку кнопочку».Секрет гнучкої архітектури ховається в SOLID — п'яти базових принципах об'єктно-орієнтованого програмування. Розбираємо їх простою мовою:🟥 S — Single Responsibility (Єдина відповідальність)Один клас = одне завдання.Аналогія: Не робіть клас-«швейцарський ніж». Якщо ваш клас відповідає і за генерацію звіту, і за його відправку на пошту, і за збереження в базу — час його розділити.🟨 O — Open/Closed (Відкритість/Закритість)Відкриті для розширення, закриті для модифікації.Аналогія: Ви можете підключити до смартфона нові навушники (розширення), але для цього вам не потрібно розбирати сам телефон і паяти плату (модифікація). Нова логіка має додаватися новим кодом, не ламаючи старий.🟩 L — Liskov Substitution (Підстановка Барбари Лісков)Клас-нащадок має повністю замінювати батьківський клас, не ламаючи логіку програми.Аналогія: Якщо у вас є клас Птах із методом Летіти(), то клас-нащадок Пінгвін зламає систему. Продумуйте ієрархію правильно!🟦 I — Interface Segregation (Розділення інтерфейсів)Краще кілька вузькоспеціалізованих інтерфейсів, ніж один гігантський.Аналогія: Не змушуйте розумну лампочку реалізовувати інтерфейс IРозумнийДім, де є методи УвімкнутиХолодильник() та ЗапуститиПрання(). Дайте їй тільки те, що потрібно.🟪 D — Dependency Inversion (Інверсія залежностей)Залежність має бути від абстракцій, а не від конкретних реалізацій.Аналогія: Ви вмикаєте вилку в стандартну розетку (абстракція). Вам неважливо, як саме прокладені дроти в стіні (конкретна реалізація). Так само мають взаємодіяти і модулі в коді.Розуміння SOLID — це ваш квиток від Junior до Middle.👇 А який з цих п'яти принципів на практиці дається найважче? Пишіть у коментарях!