Come colui che implementa questo strumento , startHttpServer
, dovresti cercare di renderlo il più semplice, semplice e senza cuciture da usare ...
La logica della funzione
Tecnicamente, dividendo la logica di startHttpServer
in 2 funzioni e chiamandole separatamente , tutto ciò che fai è in movimento startHttpServer
's idempotenza nel codice che chiama invece entrambe le funzioni ... Inoltre, a meno che non si avvolga la logica in una terza funzione ( che è ciò che fa startHttpServer
al primo posto), questo ti obbliga a scrivere codice non modificato, duplicandolo esponenzialmente ovunque tu debba chiamare startHttpServer
. In breve, startHttpServer
deve chiamarsi la funzione isHttpServerRunning
.
Quindi il mio punto è:
- Implementa la funzione
isHttpServerRunning
perché potrebbe comunque essere necessaria indipendentemente ...
- Implementa
startHttpServer
rendendolo utilizza isHttpServerRunning
per definire la sua prossima azione di conseguenza ...
Ancora, puoi fare in modo che% co_de restituisca qualsiasi valore di cui può aver bisogno l'utente di questa funzione, ad esempio:
-
startHttpServer
= > errore iniziale del server
-
0
= > server che ha avuto successo
-
1
= > il server era già stato avviato
La denominazione della funzione
Prima di tutto, qual è l'obiettivo principale dell'utente? Per avviare il server HTTP , giusto?
Fondamentalmente, non c'è alcun problema se si intende iniziare qualcosa che è già stato avviato, AKA 2
. Quindi, almeno per me, chiamarlo " 1*1=1
" non sembra necessario, mi interessa di più per quanto tempo, naturale e memorabile è il nome della funzione.
Ora se vuoi sapere come funziona in dettaglio la funzione sotto il cofano, c'è la documentazione o il codice sorgente per questo, intendo come per qualsiasi altra funzione da libreria / framework / API / etc ...
Sei impara la funzione una volta mentre scrivi più volte ...
Ad ogni modo, rimango con ensureHttpServerIsRunning
che è più breve, più semplice e più esplicito di startHttpServer
.