Обкладинка нотатки: Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?

Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?

Зміст дописунатисність на посилання, щоб перейти до потрібного місця
Convention over Configuration (CoC) — це принцип, який полягає в тому, що система або фреймворк вже має конфігурації за замовчуванням, дозволяючи розробнику уникати написання / створення налаштувань самостійно. Це значно скорочує кількість рішень, які потрібно приймати, і зменшує час на налаштування та розробку загалом.
Вперше цей підхід здобув популярність завдяки фреймворку Ruby on Rails. В основі Rails закладено ідею, що більшість розробників будуть виконувати подібні завдання схожими способами. Тому Rails забезпечує типові рішення, такі як структуризація файлів, назви моделей, контролерів і баз даних. Якщо дотримуватися прийнятих угод (conventions), система автоматично налаштовує багато аспектів програми. Наприклад, модель з назвою Article буде автоматично відповідати таблиці articles у базі даних, без потреби в додатковій конфігурації.
Це звільняє розробника від рутинної конфігурації. Виняткові випадки, де потрібна індивідуалізація, легко налаштовуються окремо, однак основний обсяг завдань можна виконати швидше, користуючись заздалегідь визначеними умовностями.
Позбавлення від надмірної конфігурації дозволяє зосередитися на логіці програми, а не на налаштуваннях. Це пришвидшує розробку і зменшує кількість помилок, оскільки менше конфігурацій означає менше місць, де може бути баг. Водночас цей підхід можна зустріти і за межами Rails. Багато сучасних фреймворків та інструментів використовують подібний підхід — від JavaScript-бібліотек до систем управління інфраструктурою.
CoC є одним із ключових підходів до спрощення процесу розробки, де програми, які відповідають встановленим угодам, потребують мінімальної конфігурації, а розробник отримує більше свободи для створення функціоналу замість роботи з дрібними налаштуваннями.

Приклад CoC (RoR)

Давайте розглянемо приклад CoC трохи детальніше, щоб зрозуміти де саме ми економимо час та зменшуємо ймовірність багів через доданий кастомний код.
coc-scheme.png
  1. Розробник створює модель – наприклад, модель Article у Rails.
  2. Оскільки Convention over Configuration передбачає використання угод (конвенцій), Rails автоматично очікує, що таблиця для цієї моделі буде називатися articles (стандартна множина для англійських іменників).
  3. Rails автоматично підключає цю модель до таблиці articles у базі даних, без необхідності додаткових налаштувань. Якщо угода підходить, додаткова конфігурація не потрібна.
Такий підхід звільняє від зайвої конфігурації, оскільки система покладається на типові налаштування.
Якщо простими словами - фреймворк вже має загальні конфігурації, які не треба вигадувати самому, а треба просто слідувати конвенціям, щоб все працювало "прямо з коробки".
Категорії: Програмування

🔗 Цитувати допис: "Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?"

Якщо ви хочете процитувати цей допис у своїй роботі, статті, блозі, використовуйте наведену нижче інформацію.

Розгорнути деталі


🙌 Підтримати блог @memecode

Ви можете поширити цей допис у соцмережах, чим допоможете платформі цейво розвиватись (* ^ ω ^)

📝 Більше публікацій:
Обкладинка нотатки: Що таке SCM (Source Control Management)?
Обкладинка нотатки: Яку ієрархію має DOM (Document Object Model)?
Обкладинка нотатки: Як працює модель штучного інтелекту?
Обкладинка нотатки: Що означає реляційний (в контексті реляційних баз даних)?
Обкладинка нотатки: Що таке RDBMS (relational database management system / реляційна система управління базами даних)?
Обкладинка нотатки:  Що означає ACID принцип у програмуванні?
Обкладинка нотатки: Округлення десяткових чисел: математичні правила, JavaScript і Ruby
Дисклеймер

Інформація на сайті tseivo.com є суб'єктивною та відображає особисті погляди та досвід авторів та авторок блогів.

Використовуйте цей ресурс як одне з декількох джерел інформації під час своїх досліджень та прийняття рішень. Завжди застосовуйте критичне мислення. Людина сама несе відповідальність за свої рішення та дії.