Overreacted

بهینه‌شده برای تغییر

2018 M12 12 • ☕️ 1 min read

چی یک API رو عالی می‌کنه؟

APIـیی که خوب طراحی شده قابل به خاطر سپردن، واضح و مشخصه. اون کدهارو به خوانایی، درستی و بهتربودن هدایت می‌کنه و به توسعه‌دهندها کمک می‌کنه که بیفتن توی گودال موفقیت.

من به این جنبه‌های طراحی می‌گم “first order” به خاطر اینکه اولین چیزهایی هستش که یک توسعه‌دهنده کتابخانه می‌خواد که تمرکز کنه روش. شاید شما یک سری جاهاشو بالا و پایین کنید ولی درنهایت اون‌ها همیشه توی ذهنتون هستن که چیا بودن.

در هر صورت هم کد شما و هم API شما احتمالن به مرور زمان تغییر می‌کنه، مگر اینکه بخواید یک کاوشگر بفرستید مریخ.

بهترین طراح‌های APIـیی که من میشناسم، خودشون رو گیر جنبه‌های “first order” مثل خوانایی نمی‌کنن. اونا فقط به اندازه‌ی کافی روی چیزی که من بهش می‌گم “second order” طراحیِ API انرژی می‌ذارن: چطوری کدهایی که توسط این API نوشته می‌شن قراره به مرور زمان تکامل پیدا کنن.

یک تغییر کوچیک توی نیازمندی‌های پروژه می تونه خفن‌ترین کدهارو از دور خارج کنه.

APIـهای عالی این موضوعو پیش‌بینی می‌کنن. اونا اینو پیش‌بینی می‌کنن که شما در آینده می‌خوای کدهارو جابه‌جا کنی. یک جاهاییش رو کپی پیست کنی. اسمشو عوض کنی. یک‌جاهایی از کد رو که جاهای مختلف تکرارشده رو تبدیل به یک helper کنی که بتونی ازش توی همه جا استفاده کنی. یک جاهایی از کد رو برگردونی به حالت قبل. یک جاهایی رو ماست‌مالی کنی. یک باتل‌نکی رو بهبود بدی. یک جایی رو بریزی دور و از اول بنویسی. سوتی بدی. سر یک مشکلی هی بچرخی دور خودت تا مشکلو پیدا کنی. یک باگی رو حل و درست کنی. نحوه‌ی درست کردنت باگت رو بازبینی کنی.

APIـهای عالی فقط شمارو توی گودال موفقیت نمیندازن بلکه کمکتون می‌کنن که اون تو بمونید.

اونا برای تغییر بهینه‌شدن.