Чому деякі API – гімно?

Привіт друзі! Давно хотів поділитись з вами цікавим спостереженням. (https://qamania.org/wp-content/uploads/horse_rocket.jpg) Коли працюєш у великих проєктах на великі компанії, дуже часто виникає думка – чому ми використовуємо такі складні і криві API, що передають великі і незручні структури даних, а більшість цих даних взагалі не використовується і передається просто так? Чом би не зробити все красиво?
Але через деякий час я помітив, що ми і самі (наша команда) робить такі самі інтерфейси. Та за шо? 😶

Я трохи подумав над цим, і відповідь доволі проста – наслідковість і зворотна сумісність. Великі компанії не оновлюють весь пакет ПЗ за один раз – це довго і дорого. Тому замовляють оновлення 1 підсистеми, потім ще однієї, і .т.д.
Як наслідок, сучасний і гарний фронт, написаний на react чи ангуляр; гарний бекенд, написаний на останній джаві чи C#, а взаємодіє все це через інтерфейси, розроблені пів сторіччя тому. Криві і не зручні.

Мені одразу пригадується байка – чому космічні ракети в США одного діаметру? Бо їх розробляли такими, щоб перевозити залізницею. А чому ширина залізниці така? Бо ще давні римляни будували дороги в Британії такої ширини. Але чому? Бо такої ширини була вісь бойової колісниці. А чому колісниця такої ширини? Бо в неї запрягали пару коней. Тож виходить, що супер сучасні ракети, що запускають міжпланетні космічні станції мають ширину в 2 попи коня 🐎🐎, які було виміряно більше 2000 років тому римлянами. Н – Наслідковість! 👨‍🎓

Що з цим робити?
✅ Коли є можливість, і ваша команда оновлює кілька систем одразу – розробіть до них зручні і сучасні API. Це довше, але воно того варте
✅ Вашим системам не обов’язково взаємодіяти напряму – можна створити ESB – систему, що буде транслювати старі API в нові і назад. Так, дорожче. Так, потенційний bottleneck. Але майбутній ви скаже вам дякую, що зробили нормально 🙂

– “Але ж ми просто тестери, ми тестуємо що дають”

“НІТ! Ми – QA. Ми забезпечуємо якість не тільки продуктів, а і процесів. І прослідкувати, щоб зробили нормально – наш прямий обов’язок. Як мінімум – озвучити плюси/мінуси команді”

22 Травня 2023
Автор: 
  • 🛰-🌐- Starlink sign-up -💻-🐞
  • Root Cause чи локалізація?
  • Найкругліші баги з округленням
  • Карго-культ

Залишити коментар

Залишити вiдгук