Arquitetura Corporativa para Todos

Artigo / Post

Responsabilidade X Escopo X Exception – Relações pouco exploradas.

Gerar ou não uma exception é um assunto bastante recorrente e muitas vezes gera muita polemica. Eu mesmo escrevi sobre este tema (links ao final).

Vamos tentar agora abordar este tema sobre outro viés : Escolher lançar ou não uma exception baseado no conceito de responsabilidade e Escopo:

  • ➡ Se for sua a responsabilidade (escopo da função/método) evite ao máximo lançar exception.
  • ➡ Se NÃO for sua responsabilidade não precisa inventar e/ou usar nenhum patterns apenas lance uma exception

Simples né…vamos explorar estes conceitos:

👉 Função/método públicos (Com baixo acoplamento): Parâmetros e contratos devem ser validados uma vez que a origem dos dados pode não ser confiável. Isso é sua responsabilidade logo tente evitar as exception.

👉 Função/método públicos (Com Alto acoplamento): Igual ao primeiro , porém no mundo real nem sempre temos implementações corretas e estes contextos têm acoplamento com variáveis e classes internas. Estas variáveis e classes devem ser validadas, mas caso falhem fique à vontade para gerar uma exception. Seu contexto não é responsável por elas, isso é um débito técnico que a falha deve ser corrigida na sua origem e não no seu contexto. Embora seja uma ação mais radical garante que sua aplicação tenha consistência dentro do contexto evitando cenários que deveriam ser tratados antecipadamente, e mais importante não propaga esta inconsistência para demais chamadas subsequentes.

👉 Bibliotecas de uso Específico : Cada biblioteca tem sua complexidade e características mas segue o mesmo princípio dos escopos púbicos.

👉 Bibliotecas de uso Geral (Helpers) : Aqui é uma opinião mais pessoal… Faz um bom tempo que tento evitar este tipo de biblioteca pois ela na maioria dos casos não foi projetada para ter um baixo acoplamento, mas se for o seu caso nem deveria ter validação é se tiver fique à vontade para gerar uma exception, o conceito dela é apoiar/simplificar um contexto maior e este sim deve garantir os parâmetros corretos. Como evitar seu uso ? em .NET Utilizando o conceito de extensions (.NET) ou local functions.

👉 Função/método privados/internos : Escopos internos não deveriam ter validações, e caso existam fique à vontade para gerar uma exception pois a origem do problema está na falta de validação de uma camada superior.

Estas abordagens não devem ser encaradas como “arauto da verdade” nem uma regra a ser aplicada em qualquer contexto, pense isso como um guia para ajudar e evitar debates que muitas vezes sua origem vem da falta de um planejamento mais estratégico da construção da sua aplicação voltada para uma gestão de erro mais efetiva.


Tenham um excelente dia! Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável.

Compatilhe

0 0 votos
Avaliação Global
0 Comentários
Categorias

Sobre o Autor

Picture of Fernando Cerqueira

Fernando Cerqueira

Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável. Como arquiteto sênior, aproveito meus mais de 30 anos de experiência em arquitetura e desenvolvimento de software para projetar e implementar soluções baseadas em nuvem que ajudam os clientes a transformar seus negócios com tecnologia.

Outros Posts

Categorias

Em uma jornada digital não deve existir “zona de conforto”

Iniciar uma jornada Digital requer propósito e engajamento de todos os participantes. É uma oportunidade única para olhar fora da caixa e reavaliar todos os aspectos de uma mudança como infraestrutura, segurança, softwares, ferramentas, cultura e processos.

Em uma jornada digital não deve existir “zona de conforto”. É preciso garantir

Dívidas Técnicas: um risco corporativo que cresce silenciosamente

É necesssário  evolução do pensamento crítico sobre as dívidas técnicas para uma proposta sustentável de dívidas corporativas. Dívidas Técnicas: um risco corporativo além do código Dívidas técnicas NÃO SÃO apenas um problema de projeto de software, são um RISCO CORPORATIVO. Uma dívida técnica, devido a sua natureza, só tende a

Doces Conventuais e Arquitetura de Soluções

Estar em Portugal é muito mais do que vivenciar uma cultura europeia tradicional— é mergulhar em uma experiência gastronômica única. Entre os sabores que marcam essa jornada, os doces conventuais ocupam um lugar especial. Com origem nos conventos e mosteiros portugueses, essas delícias ricas em açúcar refinado, gemas de ovos

"Somos reflexo de nossos ações, iremos conviver cada vez mais com modelos antropomorfos e a sua presença não nos representa, mas a forma que nos relacionamos com todas as transformações em curso e novos modelos é o que nos define como humanos, únicos e impossíveis de replicar."

Fernando Cerqueira | Arquiteto Corporativo

Sua Reflexão

0
Adoraria saber sua opinião, comente.x