Como você define uma API boa ou ruim? [fechadas]
Fundo:
Estou fazendo uma aula na minha universidade chamada "Restrições de Software". Nas primeiras palestras, aprendemos a criar boas APIs.
Um bom exemplo de uma função API muito ruim é o soquetepublic static void Select(IList checkRead, IList checkWrite, IList checkError, int microseconds);
em c #. A função recebe 3 listas de soquetes e os destrói, fazendo com que o usuário clone todos os soquetes antes de alimentá-los noSelect()
. Ele também tem um tempo limite (em microssegundos), que é um int, que define o tempo máximo que o servidor pode esperar por um soquete. Os limites são de +/- 35 minutos (porque é um int).