Introdução

O sistema atual serve para processamento do retorno bancário efetuando a baixa dos títulos para cada registro.

Objetivos

Seu objetivo nessa avaliação é refatorar (link) o código da aplicação. Podendo também melhorar a estrutura e organização. Assim como adicionar testes para garantia de qualidade do software.

Regras

  • Arquivo processamento.php: não deve ser modificado
  • Arquivo C12345.RET: não deve ser modificado
  • Classe ApiPagamentos: não deve ser modificada.
  • Classe ProcessamentoRetorno: a interface não deve ser modificada, porém o seu conteúdo deve ser refatorado.
  • Erros podem ser tratados.
  • A saída do console pode ser modificada.
  • Para testes deve ser utilizado apenas o phpunit.
  • Comentários pode ser alterados/adicionados.

Envio

  • Os arquivos devem ser compactados (junto com a pasta .git) e enviados para o email do RH.
  • Não serão avaliados repositórios clonados, apenas a pasta recebida via email.
  • Se o envio for feito via compartilhamento (drive, onedrive, dropbox etc) atenção para as permissões do arquivo.

Avaliação

O objetivo deste teste é avaliar a capacidade de abstração e melhoria do código existente, levando em consideração boas práticas e legibilidade do código. Dentre os tópicos avaliados estão:

  • Testes
  • Arquitetura
  • Clareza do código
  • Recomendações PSR
  • Documentação
  • Logs
  • Performance
  • Utilização de conceitos SOLID, YAGNI e DRY
  • Tratamento de Erros / Segurança

Utilização do projeto

$ composer install
$ php -f processamento.php