Como aquele que implementa essa ferramenta , startHttpServer
você deve tentar torná-la a mais simples, suave e perfeita de usar ...
A lógica da função
Tecnicamente, dividindo startHttpServer
a lógica em 2 funções e chamando-as separadamente , tudo o que você faz é mover startHttpServer
a idempotência para o código chamando as duas funções ... Além disso, a menos que você envolva a lógica em uma terceira função (que é o que faz startHttpServer
em primeiro lugar), isso obriga a escrever código não-SECADO, duplicando-o exponencialmente em qualquer lugar que você precise chamar startHttpServer
. Em suma, startHttpServer
tem que se chamar de isHttpServerRunning
função.
Então, meu ponto é:
- Implemente a
isHttpServerRunning
função porque isso pode ser necessário independentemente, de qualquer maneira ...
- Implemente
startHttpServer
o uso isHttpServerRunning
para definir sua próxima ação de acordo ...
Ainda assim, você pode startHttpServer
retornar qualquer valor que o usuário dessa função possa precisar, por exemplo:
0
=> falha na inicialização do servidor
1
=> servidor iniciando com sucesso
2
=> servidor já foi iniciado
A nomeação da função
Primeiro de tudo, qual é o objetivo principal do usuário? Para iniciar o servidor HTTP , certo?
Fundamentalmente, não há problema pretendendo iniciar algo que já foi iniciado, também conhecido como AKA 1*1=1
. Então, pelo menos para mim, chamá-lo " ensureHttpServerIsRunning
" não parece ser criticamente necessário, eu me importaria mais com quanto tempo, natural e memorável é o nome da função.
Agora, se você quiser saber como trabalhar em detalhes a função sob o capô, existe a documentação ou a fonte de código para isso, quero dizer, como para qualquer outra função da biblioteca / framework / API / etc ...
Você aprende a função uma vez enquanto a escreve várias vezes ...
Enfim, eu continuaria com o startHttpServer
que é mais curto, mais simples e mais explícito do que ensureHttpServerIsRunning
.