Оптимизиран за промяна
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 не само ви позволяват да попаднете в яма на успех, но и да ви помогне да останете там.
Те са оптимизирани за промяна.