omes de classe @Smelly? [fechadas
Na sua experiência, quais são algumas das palavras-chave "fedorentas" nos nomes de classe ou função que podem ser sinais de aviso de um projeto orientado a objetos rui
Descobri que as classes que contêm a palavraManager
ouBase
são frequentemente suspeitos. Por exemplo, umFooManger
geralmente indica um encapsulamento ruim ou um design único que é difícil de reutiliza
A FooBase
class é geralmente uma classe base abstrata que nunca se espera que seja diretamente referenciada no código do chamador. É usado apenas para compartilhar alguma implementação de código sem um @ verdadeiÉ U relacionamento. E aBase
nome da classe expõe detalhes de implementação interna e não reflete um objeto "mundo real" em um modelo de domíni
Funções que incluem a palavraAnd
ouOr
(por exemplo.DoThisAndThat()
ouDoThisOrThat()
) são fedorentos. A função provavelmente está sem coesão e está tentando fazer muita coisa. E o nome expõe detalhes de implementação interna.