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.