Meu Blog

Seja flexível - A desvinculação e a lei de Deméter

DICA 36
REDUZA A VINCULAÇÃO ENTRE MÓDULOS

A rotina foi desnecessariamente vinculada a 3 classes

A rotina foi desnecessariamente vinculada a 3 classes.

Essa cadeia de chamadas de função dentro de função, a depender do quão grande o sistema fique, pode impactar seriamente na qualidade da manutenção. Pois, ao modificar uma dessas funções, você pode prejudicar não só essa função que foi identificada, mas vários outros locais não mapeados. Um fenômeno desse sintoma é justamente

Desenvolvedores que têm medo de alterar o código porque não têm certeza do que pode ser afetado.

Um exemplo mais adequado da função citada seria:

A rotina não quer saber se o fuso horário vem diretamente

A rotina não quer saber se o fuso horário vem diretamente, de algum objeto contido ou se Selection gera um fuso horário totalmente diferente.

Em outras palavras, é mais fácil de estar mantendo o código chamando diretamente o que se quer, ao invés de criar uma cadeia de chamadas aninhadas.

A lei de Deméter, pelo meu entendimento, possui um escopo mais amplo, lidando com a desvinculação entre os módulos do sistema, dando um certo norte como descrito na imagem:

A lei de Deméter

Valendo ressaltar que não é uma regra absoluta, mas sim uma ferramenta que devemos ter na caixa para quando surgir um caso em que ela seja útil, saibamos pegar a ferramenta e aplicar ao cenário.

← Voltar aos posts