Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for YAGNI - Você não vai precisar disso.
Suspir0n
Suspir0n

Posted on

     

YAGNI - Você não vai precisar disso.

O que é YAGNI?

O YAGNI(You arin't gonna need it) é um princípio que retrata sobre não usar aquilo que não é necessário. Com isso, quando vamos desenvolver um software, antes de começar a fazer, começamos a planejar o que vamos utilizar nele, como:

  • Ferramentas
  • Frameworks
  • Linguagens de Programação
  • SQL ou NoSQL
  • Testes
  • Princípios

Pensamos em colocar em prática muitas coisas não é mesmo? Por isso comecei a escrever primeiro sobreKISS, reparou que eles se completam?

Caso não se lembrem o que é oKISS, resumindo, ele é um princípio que fala sobre manter a simplicidade na sua aplicação. Lembrando simples não é a mesma coisa que ser simplista, falaremos sobre isso em outro artigo.

Como ambos se completam tanto oKISS como oYAGNI, para manter a simplicidade, apenas usaremos tecnologias necessárias, é neste momento que o YAGNI entra, mas como saber se algo é necessário ou não no momento?

Vamos para um exemplo, digamos que tenham que desenvolver uma API. Do que eu preciso para criar uma solicitação do tipo GET?

Primeiro precisará de uma framework para facilitá o desenvolvimento, neste exemplo vou usar oFastAPI.

Arquivo main.py

fromfastapiimportFastAPIapp=FastAPI()@app.get('/')asyncdefindex():return{"Hello World":"Olá Mundo"}
Enter fullscreen modeExit fullscreen mode

Reparou? Bem simples não é mesmo?

No momento não era necessário, eu criar varias pastas ou arquivos, separar a responsabilidade, neste momento isso não é necessário, pois o meu objetivo era fazer uma solicitação do tipo GET simples para validação. Veja que não é necessário de várias ferramentas, isto vai vendo com o decorrer do desenvolvimento, implementando apenas o necessário.

Resumindo, quando falamos que YAGNI é um princípio que diz "não usar aquilo que não é necessário", nos referimos a sua tarefa, lembre-se, um passo de cada vez, se você precisa apenas da solicitação do tipo GET, para quer você vai criar uma solicitação do tipo POST se não é necessário? Deu para entender?

Segundo aoLinkApi "O conceito do YAGNI é justamente esse,não usar aquilo que não é necessário!" e como ele mesmo dizcomplexidade desnecessária é custo.

Então o KISS usa o YAGNI, o YAGNI usa o KISS, formando um ciclo.

Os 7 princípios que os desenvolvedores precisam conhecer

Já falamos de alguns destes princípios, vou deixar o link para vocês.

NoSRP falamos um pouco sobre oSOLID, teremos um artigo explicando do que se trata o SOLID e sobre os outros princípios citados.

Este foi odiário de bordo #11. Seguindo a sequência do que meu amigo@figur8 me apresentou semana passada, 3 novos princípios oYAGNI,KISS eDRY, hoje eu escolhi falar sobre oYAGNI na próxima semana irei trazer sobre oDRY galera, vlw. Vamos nos despedindo por aqui. Voltaremos com mais um diário de bordo.

Este artigo foi útil para você?
Deixe um comentário abaixo.

Referências

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Evandro Silva, 20 anos. Tecnólogo no curso Analise e Desenvolvimento de Sistemas, atualmente trabalhando como desenvolvedor Python.
  • Location
    Brasil
  • Work
    Back-end Developer
  • Joined

More fromSuspir0n

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp