Smell Code - Can you fell ?
tags [Smell Code, Refactoring]
Data criação 2010-09-01 16:35:52 UTC
Você sente o cheiro do seu código ??? Obviamente que não, mas então o que significa o termo "Smell code" (cheiro do código). Essa terminologia é utilizada para identificar potenciais problemas no código fonte de um software. Algo que foi mal desenhado ou mal produzido e cujo "cheiro" nos remete a perceber que existe um defeito naquele trecho que precisa ser refeito, ou em inglês é um trecho que necessita de "Refactoring".
Existem técnicas comprovadas para identificar os "smells", por isso algumas ferramentas surgiram no mercado para ajudar os desenvolvedores a identificar e corrigir estes defeitos. Em Java existe por exemplo o findbugs que lê e identifica potenciais defeitos. A palavra potenciais significa que aquilo pode ser um defeito, ou não. Não leve a ferramenta a sério, avalie caso a caso.
A técnica de "refactoring" pode ser algo simples e ao mesmo tempo muito complexo, em sistemas que estão em fase de desenvolvimento é trivial realizar mudanças, mas em sistemas legados com muitas chamadas a um componente a coisa se torna mais difícil, às vezes vale mais a pena deixar o código "fedido" do que arriscar a sua cabeça. A menos que o trecho seja possua realmente um bug desses que desviam o fluxo do software.
Existem técnicas comprovadas para identificar os "smells", por isso algumas ferramentas surgiram no mercado para ajudar os desenvolvedores a identificar e corrigir estes defeitos. Em Java existe por exemplo o findbugs que lê e identifica potenciais defeitos. A palavra potenciais significa que aquilo pode ser um defeito, ou não. Não leve a ferramenta a sério, avalie caso a caso.
A técnica de "refactoring" pode ser algo simples e ao mesmo tempo muito complexo, em sistemas que estão em fase de desenvolvimento é trivial realizar mudanças, mas em sistemas legados com muitas chamadas a um componente a coisa se torna mais difícil, às vezes vale mais a pena deixar o código "fedido" do que arriscar a sua cabeça. A menos que o trecho seja possua realmente um bug desses que desviam o fluxo do software.