Я думаю, что первостепенное значение имеет читаемость, под которой я подразумеваю качество, благодаря которому наибольшее количество программистов понимают, что делает код в кратчайшие сроки. Но судя о том, какая часть программного обеспечения читаема, а какая нет, имеет неописуемое человеческое качество: нечеткость. Точки, которые вы упомянули, частично преуспели в его кристаллизации Однако в целом это должно оставаться делом в каждом конкретном случае, и было бы очень трудно придумать универсальные правила.

Я учусь в университете под названием «Ограничения программного обеспечения». На первых лекциях мы учились создавать хорошие API.

Хорошим примером действительно плохой функции API является сокет

 в C #. Функция получает 3 списка сокетов и уничтожает их, заставляя пользователя клонировать все сокеты, прежде чем вводить их вpublic static void Select(IList checkRead, IList checkWrite, IList checkError, int microseconds);, Он также имеет тайм-аут (в микросекундах), представляющий собой int, который устанавливает максимальное время ожидания сервером сокета. Пределы этого - +/- 35 минут (потому что это int).Select()Вопросов:

Как вы определяете API как «плохой»?Как вы определяете API как «хороший»?Вопросы для рассмотрения:Названия функций, которые трудно запомнить.Параметры функции, которые трудно понять.Плохая документация.Все настолько взаимосвязано, что если вам нужно изменить 1 строку кода, вам на самом деле потребуется изменить сотни строк в других местах.Функции, которые разрушают их аргументы.Плохая масштабируемость из-за «скрытой» сложности.От пользователя / dev требуется создать обертки вокруг API, чтобы его можно было использовать.REST API Architecture - лучшие практики

Ответы на вопрос(13)

Ваш ответ на вопрос