Адаптований до змін
2018 M12 12 • ☕️ 1 min read
Originally written in: English • Русский (авторский перевод)
Translated by readers into: Bahasa Indonesia • Deutsch • Español • Français • Polski • Português do Brasil • Türkçe • Български • Українська • العربية • فارسی • 简体中文 • 繁體中文
Read the original • Improve this translation • View all translated posts
Що таке хороший API?
Архітектура хорошого API має бути однозначною і добре запам’ятовуватися. Також вона має заохочувати створювати читабельний, правильний і ефективний код та допомагати розробникам «впасти в яму успіху».
Я вважаю ці аспекти дизайну «первинними», тому що це перша річ, на якій розробники бібліотек повинні сфокусуватися. Можливо з деякими з них тобі доведеться піти на компроміси, але принаймні завжди про них потрібно пам’ятати.
Однак, хіба, якщо ти не відправляєш марсохід на Марс, твій код скоріше за все з часом зміниться. Так як і код клієнтів твого API.
Найкращі розробники API, яких я знаю, не зупиняються на «первинних» аспектах таких як читабельність. Вони докладають стільки ж зусиль, якщо не більше, для того, що я називаю «вторинними» аспектами API дизайну: як код, який використовує твій API, еволюціонує з часом.
Маленькі зміни у вимогах можуть зламати навіть найбільш витончений код.
Хороші API передбачають це. Вони передбачають, що ви захочете перемістити фрагменти коду. Скопіювати і вставити якусь частину. Перейменувати її. Об’єднати окремі випадки в загальну багаторазову абстракцію (помічник). Розширити абстрактне рішення знову до особливих випадків. Додати свої костилі. Оптимізувати вузькі місця. Викинути частину і почати все спочатку. Зробити помилку. Переміщуватися між причиною та наслідком. Виправити баг. Переглянути виправлення.
Хороші API не тільки дозволяюсть тобі «впасти в яму успіху», але й залишитись у ній.
Вони адаптовані до змін.