Now multiply five private methods by five public ones, and you get around twenty-five hidden methods that are probably going to be called only once by those public ones.
Isso é conhecido como Encapsulation , que cria um Controle Abstração no nível superior. Isso é bom.
Isso significa que qualquer pessoa que leia seu código, quando chegar ao método startTheEngine()
em seu código, poderá ignorar todos os detalhes de nível inferior, como openIgnitionModule()
, turnDistributorMotor()
, sendSparksToSparkPlugs()
, injectFuelIntoCylinders()
, activateStarterSolenoid()
e todas as outras funções complexas e pequenas que devem ser executadas para facilitar a função muito maior e mais abstrata de startTheEngine()
.
A menos que o problema com o qual você está lidando em seu código lide diretamente com um desses componentes, os mantenedores de código podem seguir em frente, ignorando a funcionalidade encapsulada em área restrita.
Isso também tem a vantagem de tornar seu código mais fácil de testar. . Por exemplo, posso escrever um caso de teste para turnAlternatorMotor(int revolutionRate)
e testar sua funcionalidade completamente independente dos outros sistemas. Se houver um problema com essa função e a saída não for o que eu esperava, então sei qual é o problema.
Código que não está dividido em componentes é muito mais difícil de testar. De repente, seus mantenedores estão apenas olhando para a abstração em vez de serem capazes de se aprofundar em componentes mensuráveis.
Meu conselho é continuar fazendo o que você está fazendo, pois seu código será dimensionado, será de fácil manutenção e poderá ser usado e atualizado nos próximos anos.