Você já ouviu a sigla AHA em programação?

Michel Rosas
Michel Rosas9 de Maio
Você já ouviu a sigla AHA em programação?

Hello, there! Você com certeza já conhece aquela famosa expressão "aha!, que usamos quando fazemos alguma descoberta. Mas você sabia que ela também pode ser uma sigla que descreve um conceito importante em programação?

Dê uma olhada abaixo para aprender o que significa a sigla AHA e como esse princípio aparece no dia a dia de quem desenvolve software. Check it out!

Você já ouviu a sigla AHA em programação?

A sigla AHA vem da expressão em inglês "Avoid Hasty Abstractions", que em português pode ser traduzida como "Evite Abstrações Apressadas".

Ou seja, esse princípio diz que você não deve criar abstrações cedo demais, antes de realmente entender o problema ou identificar padrões claros no código. A ideia é evitar códigos excessivamente complexos ou difíceis de entender, que são comuns de acontecerem quando tentamos generalizar soluções cedo demais.

Muitas vezes, o melhor caminho é deixar o código evoluir naturalmente até que uma abstração faça sentido de verdade. Isso é conhecido como AHA.

Esse conceito é praticamente o contrário do famoso DRY (Don't Repeat Yourself) (se você não se lembra desse conceito, clique aqui para ler o nosso artigo explicando). Enquanto o DRY incentiva a evitar repetição, o AHA diz que nem toda repetição precisa ser eliminada imediatamente, já que, às vezes, repetir um pouco ajuda a enxergar melhor o padrão antes de abstrair.

Now let's take a look at a few examples:

  • AHA helps keep the code simple until patterns are clear. (O AHA ajuda a manter o código simples até que os padrões fiquem claros.)
  • We should avoid hasty abstractions and let the design emerge naturally. (Nós deveríamos evitar abstrações apressadas e deixar o design evoluir naturalmente.)
  • This class is too generic, it feels like a violation of AHA. (Essa classe é genérica demais, ela parece uma violação do princípio AHA.)

Have you ever created an abstraction too early and regretted it later? (Você já criou uma abstração cedo demais e se arrependeu depois?)

Continue com a gente no nosso artigo "O que é a LAW OF DEMETER em programação?". See you!

Inglês e espanhol online de maneira eficaz!

Escolha um dos planos e tenha acesso aos cursos completos da plataforma

Plano Anual

12xR$40 ou R$480
Quero este plano

Plano Semestral

6xR$50 ou R$300
Quero este plano