Ergonomia no Design e Arquitetura de Software
Michi Henning escreveu um artigo na ACM Communications de Maio sobre um assunto recorrente neste blog aqui: a importância de levar em conta o usuário na heurística para o bom desenho de uma API.
As principais sugestões de boas práticas para o design de API´s dadas no artigo são:
- Uma API deve prover funcionalidades suficientes para que o chamador possa realizar suas tarefas;
- Uma API deve ser mínima, sem impor inconvenientes indevidos ao chamador;
- APIs não podem ser concebidas sem uma compreensão do contexto de uso;
- APIs de propósito geral devem ser “ policy-free”; APIs de propósito especial devem ser “ policy-rich”; (aqui entendendo-se política como restrições de parâmetros, da ordem de chamadas, valores defaults, etc.)
- A API deve ser projetada pela perspectiva do chamador;
- Boas APIs não passam sua responsabilidade para o usuário;
- APIs devem ser documentadas antes de implementadas;
- Boas APIs devem ser ergonômicas;
Vale a leitura.
Três comentários (meus):
- Estas regras devem ser levadas em consideração também quando no design de classes, frameworks e interfaces com o usuário;
- Creio que todas estas regras derivam de uma inicial: “A API deve ser projetada pela perspectiva do chamador “. As demais são decorrentes.
- Uma impressão minha: arquitetos e designers costumam pensar em si mesmos como os usuários de uma API. Eis o grande erro;
Abraços
Comments
Anonymous
April 26, 2009
PingBack from http://asp-net-hosting.simplynetdev.com/ergonomia-no-design-e-arquitetura-de-software/Anonymous
April 30, 2009
O último post do time do Entity Framework é bem interessante no contexto dos assuntos discutidos neste