--- title: Code Smells localeTitle: Cheiro de Código --- ## Cheiro de Código Um código O cheiro de programação de computadores é uma indicação superficial de que pode haver um problema em relação ao sistema e à qualidade do seu código. Esse problema pode exigir que a refatoração seja corrigida. É importante entender que o código fedorento funciona, mas não é de boa qualidade. #### Exemplos 1. Código duplicado - Blocos de código que foram replicados na base de código. Isso pode indicar que você precisa generalizar o código em uma função e chamá-lo em dois lugares, ou pode ser que a maneira como o código funciona em um lugar seja completamente não relacionada à maneira como ele funciona em outro lugar, apesar de ter sido copiado. 2. Classes grandes - Classes com muitas linhas de código. Isso pode indicar que a classe está tentando fazer muitas coisas e precisa ser dividida em classes menores. #### Mais Informações: * _Refatoração: Melhorando o Design do Código Existente - Kent Beck, Martin Fowler_ * _Código Limpo: Um Manual de Artesanato de Software Ágil - Martin, Robert C. (2009)._ * [Código Cheira na Wikipédia](https://en.wikipedia.org/wiki/Code_smell) * [Cheiro de Código no Blog de Jeff Atwood (Coding Horror)](https://blog.codinghorror.com/code-smells/) * [Code Smells no C2 Wiki de Ward Cunningham](http://wiki.c2.com/?CodeSmell) * [Martin Fowler - Cheiro de Código](https://martinfowler.com/bliki/CodeSmell.html)