Comme celui qui mettent en œuvre cet outil , startHttpServer
vous devriez essayer de faire le plus simple, lisse et transparente à l' utilisation ...
La logique de la fonction
Techniquement, en scindant startHttpServer
la logique en 2 fonctions et en les appelant séparément , tout ce que vous faites est de déplacer startHttpServer
l’ idempotency dans le code en appelant les deux fonctions à la place ... startHttpServer
en premier lieu), cela vous oblige à écrire du code unDRYed, en le dupliquant de manière exponentielle partout où vous auriez à appeler startHttpServer
. En bref, startHttpServer
doit s'appeler elle-même la isHttpServerRunning
fonction.
Donc, mon point est:
- Implémente la
isHttpServerRunning
fonction parce que cela peut être nécessaire indépendamment de toute façon ...
- Implémentez-le en le
startHttpServer
faisant utiliser isHttpServerRunning
pour définir sa prochaine action en conséquence ...
Cependant, vous pouvez toujours startHttpServer
renvoyer toute valeur dont l'utilisateur de cette fonction peut avoir besoin, par exemple:
0
=> échec de démarrage du serveur
1
=> succès de démarrage du serveur
2
=> le serveur a déjà été démarré
Le nom de la fonction
Tout d’abord, quel est le but principal de l’utilisateur? Pour démarrer le serveur HTTP , non?
Fondamentalement, il n'y a pas de problème en envisageant de commencer quelque chose qui a déjà été commencé, AKA 1*1=1
. Donc, du moins pour moi, l'appeler " ensureHttpServerIsRunning
" ne semble pas être absolument nécessaire, je me soucierais davantage de la longueur, du naturel et du mémorable nom de la fonction.
Maintenant, si vous voulez savoir comment fonctionne la fonction sous le capot en détail, il y a la documentation ou le code source pour cela, je veux dire comme pour toute autre fonction de la bibliothèque / framework / API / etc ...
Vous apprenez la fonction une fois pendant que vous l' écrivez plusieurs fois ...
De toute façon, je m'en tiendrai à startHttpServer
ce qui est plus court, plus simple et plus explicite que ensureHttpServerIsRunning
.