É um termousadopor Robert Martingem um capitulo do livro, queapontaparaumaconcepção de desgin, codigofeits de maneirapodre
E porque o cheiro de podreacontece?*Porquenãoépensado no design antes de codificar*Porque o designéabandonado e nãoérepensado, ounão se buscaumamelhoria continua
Bob Martins se referencia a 7 cheiros de podreem um software
o Software tende a de serdifícilalterar, mesmoemformas simples.
O Design étãofragilquequalquermudançageratrastornoouquebra o design ou o codigo
QuandoÉdifícilseparar o sistemaemcomponentesquepodemserreutilizadosem outros sistemas. O projetoédifícil de reutilizar.
É um termoreferente a capacidade de se preservar o projeto original,Quando se fazmudanças simples e siguindo o mau design. Você tem pouco tempo paraque, emvez de refatoraçãovocêadicionaruma ”gamba" no código.vocêcódigovaiserumabagunçadepois de algum tempo e n se sabemaiscomo era o design original
Complexidadedesnecessaria – buscarsempre as necessidade do sistema, EX: Porquevocêdesejaimplementarversão super rápido de quick-sort (e passarváriosdiasemfazeressetrabalho), quandovocê tem apenas 10 itensparaclassificar?
Repetiçãodesnecessaria - COPY -and- PASTéútilpara o de edição de texto, mas podeserdesastrosopara o código de edição.
Opacidade – háumatendencia de se fazer um modulo de um sistema de umamaneiraque so vcentenda,Entãoquandoumapessoacomeça a mexereleaxinga o tempo todo e descidefzr do zero q émuitomaisfacil.
Ossimtomas de design smells ou a aparição de alguns deles são o indicioqueestãosendovioladosalgunsprincipios