Thursday Feb 03, 2022

Princípios de Design de Software DRY e KISS

Neste artigo, vou explorar os princípios de design de software e seus benefícios, porque os princípios de design são úteis para nós, e como implementá-los em nossa programação diária. Vamos explorar os princípios de design do software DRY e KISS.

O Princípio DRY: Don’t Repeat Yourself

DRY significa “Don’t Repeat Yourself”, um princípio básico do desenvolvimento de software que visa reduzir a repetição de informação. O princípio DRY é afirmado como, “Cada pedaço de conhecimento ou lógica deve ter uma representação única e inequívoca dentro de um sistema”

Violações de DRY

“Nós gostamos de digitar” (ou, “Desperdiçar o tempo de todos”): “Nós gostamos de digitar”, significa escrever o mesmo código ou lógica uma e outra vez. Será difícil gerenciar o código e se a lógica mudar, então teremos que fazer mudanças em todos os lugares onde escrevemos o código, perdendo assim o tempo de todos.

Como conseguir DRY

Para evitar violar o princípio DRY, divida seu sistema em pedaços. Divida seu código e lógica em unidades reutilizáveis menores e use esse código chamando-o onde você quiser. Não escreva métodos longos, mas divida a lógica e tente usar a peça existente no seu método.

Vantagens DRY

O código sem é bom: poupa tempo e esforço, é fácil de manter, e também reduz as chances de bugs.

Um bom exemplo do princípio DRY é a classe helper nas bibliotecas empresariais, na qual cada código é único nas bibliotecas e classes helper.

KISS: Keep It Simple, Stupid

O princípio KISS é descritivo para manter o código simples e claro, tornando-o fácil de entender. Afinal, as linguagens de programação são para os humanos entenderem – computadores só podem entender 0 e 1 – então mantenha a codificação simples e direta. Mantenha os seus métodos pequenos. Cada método nunca deve ter mais de 40-50 linhas.

Cada método deve resolver apenas um pequeno problema, não muitos casos de uso. Se você tem muitas condições no método, divida-as em métodos menores. Não só será mais fácil de ler e manter, mas pode ajudar a encontrar bugs muito mais rápido.

Violações de KISS

Todos nós provavelmente já experimentamos a situação em que temos trabalho para fazer em um projeto e encontramos algum código sujo escrito. Isso nos leva a perguntar por que eles escreveram essas linhas desnecessárias. Dê uma olhada abaixo em dois trechos de código mostrados abaixo. Os dois métodos estão fazendo a mesma coisa. Agora você tem que decidir qual deles usar:

public String weekday1(int day) { switch (day) { case 1: return "Monday"; case 2: return "Tuesday"; case 3: return "Wednesday"; case 4: return "Thursday"; case 5: return "Friday"; case 6: return "Saturday"; case 7: return "Sunday"; default: throw new InvalidOperationException("day must be in range 1 to 7"); }}public String weekday2(int day) { if ((day < 1) || (day > 7)) throw new InvalidOperationException("day must be in range 1 to 7"); string days = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; return days;}

Como conseguir KISS

Para evitar violar o princípio KISS, tente escrever código simples. Pense em muitas soluções para o seu problema, depois escolha a melhor, a mais simples e transforme-a no seu código. Sempre que encontrar um código longo, divida isso em vários métodos – clique com o botão direito do rato e refactor no editor. Tente escrever pequenos blocos de código que fazem uma única tarefa.

Benefício do KISS

Se temos alguma funcionalidade escrita por um desenvolvedor e foi escrita com código confuso, e se pedirmos a outro desenvolvedor para fazer modificações nesse código, então primeiro, eles têm que entender o código. Obviamente, se o código for escrito de forma simples, então não haverá qualquer dificuldade em entender esse código, e também será fácil de modificar.

Sumário

Enquanto escrever qualquer código ou módulo, tenha em mente os princípios de design do software e use-os sabiamente, faça-os seu hábito para que você não precise continuar lembrando cada vez. Isto poupará tempo de desenvolvimento e tornará o seu módulo de software robusto, o que pode ser fácil de manter e ampliar.

Deixe uma resposta

O seu endereço de email não será publicado.

Back to Top