Overreacted

Оптимизиран за промяна

2018 M12 12 • ☕️ 1 min read

Какво прави един API чудесен?

Добрият API дизайн е запомнящ се и недвусмислен. Той насърчава четивния, правилен и ефективен код и помага на разработчиците да попаднат в ямата на успеха.

Аз наричам тези аспекти на дизайна „първи ред“, защото те са първите неща, върху които се фокусира разработчикът на библиотеки. Може да се наложи да правите компромис с някои от тях и да правите компромиси, но поне те винаги са в ума ви.

Въпреки това, освен ако не изпратите на марсоход на Марс, кодът ви вероятно ще се промени с течение на времето. Също така и кодът на потребителите на вашия API.

Най-добрите дизайнери на API, които познавам, не спират на аспектите на „първия ред“, като четливостта. Те посвещават също толкова, ако не и повече усилия, на това, което аз наричам API дизайн на “втория ред”: как кодът, използващ този API, ще се развива с течение на времето.

Една лека промяна в изискванията може да доведе до разпадане на най-елегантния код.

Големите API-и очакват това. Те предполагат, че ще искате да преместите малко код. Да копирате и поставите някои части. Да го преименувате. Да унифицирате специалните случаи в генеричен помощник за многократна употреба. Да развиете абстракция обратно в конкретни случаи. Да добавите хак. Да го оптимизирате. Изхвърлете част и започнете отново. Да допуснете грешка. Да навигирате между причината и ефекта. Да поправите грешката. Да прегледате решението.

Големите API не само ви позволяват да попаднете в яма на успех, но и да ви помогне да останете там.

Те са оптимизирани за промяна.