Como el que implementar esta herramienta , startHttpServer
, usted debe estar tratando de hacer que sea lo más simple, suave y sin costuras para uso ...
La lógica de la función
Técnicamente, al dividir startHttpServer
la lógica en 2 funciones y llamarlas por separado , todo lo que haces es mover startHttpServer
la idempotencia al código que llama a ambas funciones en su lugar ... Además, a menos que envuelva ambas lógicas en una tercera función (que es lo que hace startHttpServer
en primer lugar), esto te obliga a escribir código sin DRY, duplicándolo exponencialmente en todas partes a las que deberías llamar startHttpServer
. En resumen, startHttpServer
tiene que llamarse a sí mismo la isHttpServerRunning
función.
Entonces mi punto es:
- Implemente la
isHttpServerRunning
función porque esto puede ser necesario independientemente de todos modos ...
- Implemente
startHttpServer
hacer que se use isHttpServerRunning
para definir su próxima acción en consecuencia ...
Aún así, puede startHttpServer
devolver cualquier valor que el usuario de esta función pueda necesitar, por ejemplo:
0
=> falla de inicio del servidor
1
=> servidor iniciando con éxito
2
=> el servidor ya se inició
El nombre de la función.
En primer lugar, ¿cuál es el objetivo principal del usuario? Para iniciar el servidor HTTP , ¿verdad?
Fundamentalmente, no hay ningún problema al intentar comenzar algo que ya se ha iniciado, también conocido como AKA 1*1=1
. Entonces, al menos para mí, llamarlo " ensureHttpServerIsRunning
" parece no ser críticamente necesario, me importaría más cuánto tiempo, natural y memorable sea el nombre de la función.
Ahora, si desea saber cómo funciona en detalle la función bajo el capó, existe la documentación o el código fuente para eso, me refiero a cualquier otra función de biblioteca / marco / API / etc ...
Usted aprenderá la función de una vez mientras que escribir varias veces ...
De todos modos, me quedaría con lo startHttpServer
que es más corto, más simple y más explícito que ensureHttpServerIsRunning
.