Code smells

Você sabe o que é um “code smell“? Bem, mesmo sem saber a definição, são muito grandes as chances de que você já tenha se deparado com um.

Code Smell é um sintoma de que algo no código pode estar errado. Geralmente indica a necessidade de um refactoring ou de alteração estrutural da aplicação.

Alguns code smells muito comuns são:

E você, o que já viu por aí?

Veja também:

Code smells taxonomy
Refactoring.com

Comments

4 Responses to “Code smells”

  1. Thiago Brito on January 29th, 2008 14:25

    Um livro excelente que ajuda muito a detectar os “cheiros ruins” no código e vale a pena dar uma lida é:

    Refactoring: Improving the Design of Existing Code

    http://www.amazon.com/Refactoring-Improving-Existing-Addison-Wesley-Technology/dp/0201485672/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1201623790&sr=8-1

    Ele também tem uma versão em Portugues que tem uma tradução também muito boa, que pode ser encontrado em:

    http://compare.buscape.com.br/refatoracao-aperfeicoando-o-projeto-de-codigo-existente-martin-fowler-8536303956.html

  2. lucashungaro on January 29th, 2008 14:37

    Realmente Thiago. Não mencionei no post, mas o livro de Martin Fowler virou praticamente um guia oficial do refactoring.

    Um catálogo atualizado de técnicas de refatoração pode ser emcontrado em: http://www.refactoring.com/catalog/index.html

  3. Felipe on January 29th, 2008 16:13

    Não seira “BAD smell” ao invés de “code smell”? Pois se me lembro bem o próprio Martin Fowler usa o termo Bad Smell.

    Abração,

  4. lucashungaro on January 29th, 2008 16:28

    Felipe, isso varia de literatura para literatura mesmo.

    Veja dois possíveis significados da palavra “smell”:

    - To have or emit an unpleasant odor; stink: “This closet smells”.
    - To appear to be dishonest; suggest evil or corruption.

    E as possíveis traduções:

    n. - aroma (m), perfume (m), cheiro (m), odor (m), mau cheiro (m)

    Na Wikipedia se utiliza “code smell” mesmo. Questão de preferência. :)

Leave a Reply