Come colui che implementa questo strumento , startHttpServer
dovresti provare a renderlo il più semplice, fluido e senza soluzione di continuità da usare ...
La logica della funzione
Tecnicamente, dividendo startHttpServer
la logica in 2 funzioni e chiamandole separatamente , tutto ciò che fai è spostare startHttpServer
l' idempotenza nel codice chiamando entrambe le funzioni ... Inoltre, a meno che non avvolgi entrambe la logica in una terza funzione (che è ciò che fa startHttpServer
in primo luogo), questo ti costringe a scrivere codice non DRY, duplicandolo esponenzialmente ovunque dovresti chiamare startHttpServer
. In breve, startHttpServer
deve chiamare se stessa la isHttpServerRunning
funzione.
Quindi il mio punto è:
- Implementare la
isHttpServerRunning
funzione perché potrebbe essere necessario in modo indipendente comunque ...
- Implementalo
startHttpServer
facendolo usare isHttpServerRunning
per definire la sua prossima azione di conseguenza ...
Tuttavia, puoi startHttpServer
restituire qualsiasi valore di cui l'utente abbia bisogno in questa funzione, ad esempio:
0
=> errore di avvio del server
1
=> avvio server riuscito
2
=> 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'è nessun problema con l'intenzione di iniziare qualcosa che è già stato avviato, AKA 1*1=1
. Quindi, almeno per me, chiamarlo " ensureHttpServerIsRunning
" non sembra assolutamente necessario, mi preoccuperei di più di quanto sia lungo, naturale e memorabile il nome della funzione.
Ora, se vuoi sapere come funziona in dettaglio la funzione sotto il cofano, c'è la documentazione o la fonte del codice per questo, intendo come per qualsiasi altra funzione da libreria / framework / API / ecc ...
Si impara la funzione di una volta, mentre si scrive che più volte ...
Quindi comunque, rimarrei con quello startHttpServer
che è più breve, più semplice ed esplicito di ensureHttpServerIsRunning
.