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