Preencha uma lacuna numa biblioteca

Implemente um utilitário numa biblioteca que ainda não o tem, ou comece uma biblioteca numa linguagem nova.

A matriz de paridade mostra todas as lacunas. A página de cada biblioteca, por exemplo Python, lista o que falta nela. Cada lacuna é uma contribuição separada. A regra e os casos de teste já existem. Em geral, o repositório da biblioteca já tem uma issue com o título Implement <função> com o código de referência e os casos de teste.

Adicione um utilitário a uma biblioteca

  1. Leia a página do utilitário. A spec e os casos de teste definem o comportamento inteiro. As abas das outras bibliotecas mostram o código delas.

  2. Implemente a função. Siga o guia de contribuição da biblioteca. Use os nomes que a linguagem espera, por exemplo isValidCpf, is_valid_cpf ou cpf.IsValid. O contrato não define os nomes. O validador encontra uma função pelo nome, ou por um mapeamento em libs/<lib>.json.

  3. Registre a função no harness (o executor de testes) da biblioteca. O harness lê a cópia de api-contract/cases/*.json na biblioteca e executa todos os casos de todas as funções que conhece, com o próprio comando de teste da biblioteca.

  4. Adicione o exemplo de uso em docs/usage/<util>.md. A página arquivos de uso descreve o formato. docs usage --scaffold escreve o exemplo a partir dos casos que já passam na biblioteca.

  5. Faça a release. A próxima execução do pipeline do docs fecha a issue. O próximo build deste site mostra a aba nova e a situação nova.

Comece uma biblioteca numa linguagem nova

  1. Peça à organização um repositório em brazilian-utils/<linguagem>.

  2. No docs, adicione um adaptador de linguagem e libs/brazilian-utils-<linguagem>.json. O adaptador lê a API e roda os testes. O arquivo tem um bloco site com o rótulo, o ícone, o comando de instalação e o link do registro. O docs/adding-a-language.md mostra cada passo.

  3. Comece pelas funções principais. docs issues --backfill core --lib <linguagem> --apply abre uma issue para cada função principal que falta.

  4. Adicione o harness à biblioteca, como o docs/harness.md mostra. Publique docs/usage/ desde a primeira release.

Não documente um comportamento diferente do das outras bibliotecas. Se uma implementação não bate com o contrato, corrija o caso que falha ou proponha uma mudança no contrato.

Editar no GitHub

Atualizado em

Nesta página