PrincípiosDRY, KISS & YAGNI

Ago 11, 2021
admin

Tres princípios que todo desenvolvedor deve se preocupar, porque se trata de código limpo. Neste artigo vamos entender o que cada um deles significa.

PrincípioDRY

DRY significa Don’t Repeat Yourself. No livro ‘The Pragmatic Programmer’, podemos ver esta definição para DRY:

Tudo o conhecimento deve ter uma representação única, inequívoca e autoritária dentro de um sistema.

Isto significa que você não deve ter código duplicado. É mais fácil manter um código que está apenas em um lugar, porque se você precisa mudar algo no código, você só precisa mudar em um lugar. Além disso, se você tiver o mesmo código em dois ou mais lugares, a chance desse código se tornar diferente durante o tempo é alta, e quando isso acontecer, será uma maneira fácil de introduzir bugs no seu sistema. Código duplicado também torna o código mais complexo e desnecessariamente maior.

Você também não deve escrever código ambíguo. Suas classes, suas variáveis, suas funções, elas devem ter um nome específico, e seu nome deve corresponder à sua responsabilidade. Se você tem uma função, você deve saber o que a função faz apenas lendo seu nome, sem ser necessário ler o código dentro dela.

No livro ‘The Pragmatic Programmer’ também podemos ver que:

DRY é sobre a duplicação de conhecimento, de intenção. Trata-se de expressar
a mesma coisa em dois lugares diferentes, possivelmente de duas formas totalmente diferentes

Significa que não se trata apenas de cópia e código passado – sim, isto também está incluído – mas vai além disso. É também sobre ter um código diferente que faz a mesma coisa. Talvez você possa ter código diferente em dois ou mais lugares, mas eles fazem a mesma coisa de maneiras diferentes, isso também deve ser evitado.

Princípio KISS

KISS é um acrônimo para Keep It Simple, Stupid. Este princípio diz que está prestes a tornar o seu código simples. Você deve evitar complexidade desnecessária. Um código simples é mais fácil de manter e mais fácil de entender.

Você pode aplicar este princípio no projeto e na implementação do código. Você deve eliminar código duplicado, deve remover recursos desnecessários, não usar variáveis e métodos desnecessários, usar nomes para variáveis e métodos que façam sentido e correspondam às suas responsabilidades, e sempre que possível, seguir padrões conhecidos de desenvolvimento de código. Você também deve separar as responsabilidades de suas classes e as responsabilidades das camadas do projeto.

Por vezes você não precisa implementar algo novo para atender às suas necessidades, você pode simplesmente fazer uso dos recursos da linguagem de programação que você está usando. Para isso, é bom que você conheça os recursos da linguagem de programação com a qual você está trabalhando.

Se você está trabalhando em um código que já está implementado, e você vê algo que não é necessário ou poderia ser mais simples, você deve considerar refatorá-lo.

Princípio YAGNI

YAGNI significa You Ain Ain’t Need It (Você não vai precisar). É um princípio da metodologia de desenvolvimento de software de Programação Extrema (XP). Este princípio diz que você não deve criar funcionalidades que não são realmente necessárias.

Este princípio é semelhante ao princípio KISS, uma vez que ambos apontam para uma solução mais simples. A diferença entre eles é que YAGNI foca na remoção de funcionalidades e lógica desnecessárias, e KISS foca na complexidade.

Ron Jeffries, um dos co-fundadores da XP, uma vez disse:

Aplica sempre as coisas quando você realmente precisa delas, nunca quando você apenas prevê que você precisa delas.

Significa que você não deve implementar funcionalidades só porque você acha que pode precisar delas algum dia, mas implementá-las apenas quando você realmente precisar delas. Fazendo isso você evitará gastar tempo com implementações que nem eram necessárias, e talvez nunca serão usadas.

Conclusão

Seguir estes princípios, permitirá que você escreva um código melhor. Lembre-se de que um código limpo é mais fácil de ser utilizado, mais fácil de entender e com certeza economizará seu tempo quando você precisar alterar ou implementar alguma coisa. Evite usar código duplicado, tente manter seu código o mais simples possível, e apenas implemente recursos quando for realmente necessário.

Deixe uma resposta

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