Ir para conteúdo
  • Cadastre-se

dev botao

Separação da unit ACBrUtil em várias units.


  • Este tópico foi criado há 803 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

Olá Pessoal.

Como vocês sabem estamos sempre nos esforçando pra entregar soluções melhores. Nos esforçamos a fazer isso nos nossos códigos, mesmo tendo uma equipe reduzida.

Um problema que sempre nos incomoda é units com milhares de linhas.

cat GIF

Isso não é boa prática de programação. Torna a legibilidade do código ruim. Dificulta a manutenção.

Nesse sentido, uma das que mais notamos isso é a unit ACBrUtil.pas. Ela é uma unit utilitária que foi aglutinando mais e mais código com o passar dos anos.

O que fizemos?

Queremos dizer que resolvemos fazer alguma coisa sobre isso e começamos por dividir essa a unit ACBrUtil.pas em várias outras separando o código e migrando tipos e rotinas para as outras.

A princípio, a separação ficou assim:

  • "ACBrUtil.DateTime.pas"    - rotinas relacionadas a manipulação de datas e horas
  • "ACBrUtil.FilesIO.pas"        - rotinas relacionadas a manipulação de arquivos, IO, e similares
  • "ACBrUtil.Math.pas"           - rotinas relacionadas a manipulação de números e conceitos matemáticos
  • "ACBrUtil.Strings.pas"        - rotinas relacionadas a manipulação de strings e textos
  • "ACBrUtil.XMLHTML.pas"  - rotinas relacionadas a manipulação de XML e HTML
  • "ACBrUtil.Compatibilidade.pas" - rotinas relacionadas a compatibilidade.
  • "ACBrUtil.Base.pas"           - Todas as outras rotinas que não se encaixam nas units acima
  • "ACBrUtil.pas"                    - Essa unit atualmente só serve como compatibilidade. Você deve substituir ela no seu código pelas acima.

Quando?

No momento dessa notícia ser escrita, a previsão do código é ir no final do dia de 23/03/2022.

Já está no nosso SVN.

O que isso significa no meu código?

A princípio, a única coisa necessária a ser feito na sua aplicação é atualizar e reinstalar o ACBr. MAS...

Vocês devem notar que se utilizarem alguma função da ACBrUtil.pas que foi migrada, começará a receber um warning que a função mudou para outra unit. Você deve atualizar isso assim que possível.

Vamos parar por aí?

Talvez venhamos a dividir ainda em outras units a ACBrUtil restante.

Bem, a ACBrUtil agora foi completamente dividida. Pode ser que venhamos fazer algo semelhante no futuro com alguma ACBrUtil criada. Mas no momento damos esse trabalho por encerrado.

É possível também que façamos isso em outras units que estão acumulando funções, tipos e métodos...

A questão é que não vamos parar de melhorar o ACBr. :D

Top Gun GIF by MANGOTEETH

Editado por EMBarbosa
Atualização
  • Curtir 14
  • Haha 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá pessoal,

Apenas uma atualização:

Fizemos mais uma separação com os métodos restantes numa unit chamada "ACBrUtil.Base.pas". Como vocês podem ver no post acima.

Consideramos essa tarefa da ACBrUtil agora completa. Agora é remover warnings e hints gerados por essa separação e, por fim, ajustar os testes unitários também.

Bom trabalho por aí.

  • Curtir 3

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.