🚀 Как разрабатывают API в Slack
На днях вышла бомбическая статья в инженерном блоге компании Slack:
https://slack.engineering/how-we-design-our-apis-at-slack/
После прочтения захотелось выделить главные мысли:
1⃣ Создавайте API методы, которые решают одну проблему, а не несколько одновременно (старайтесь возвращать ограниченное количество объектов, разбейте на пагинацию)
2⃣ Упростите работу с API
Например, добавьте возможность отправить запрос прямо с браузера, добавьте сниппеты кода.
Всегда спрашивайте себя, что важно для вашей платформы, которую вы делаете.
3⃣ Создайте правила именования методов, переменных и т.д.
4⃣ Возвращайте понятные и подробные сообщения об ошибках (например, со ссылками на документацию и т.д.)
5⃣ Делайте эндпоинты перформансными и масштабируемыми
— пагинация больших коллекций
— не вкладывайте одни большие коллекции в другие
— добавьте ограничение на частоту запросов
Если API работает «достаточно хорошо» для вас — это не значит, что этого достаточно для остальных. Часть удовольствия от использования API заключается в том, что мы никогда не знаем, как другой разработчик собирается его использовать. И всё же вам всё ещё предстоит предвидеть множество возможностей, о которых вы можете не знать.
6⃣ Избегайте ломающих совместимость изменений
Или другими словами — то, что работало вчера, должно работать и сегодня.
Процесс проектирования API:
1) написать API спецификацию
2) провести внутреннее ревью API в специальном канале
3) собрать ранние отзывы от партнёров
4) провести бета-тестирование
#новости #статьи
Post #39
225