Как тот , кто реализует этот инструмент , startHttpServer
вы должны пытаться сделать это самый простой, гладкой и бесшовные для использования ...
Логика функции
Технически, расщеплением startHttpServer
«s логики в 2 -х функций и называя их по отдельности , все , что вы делаете это перемещение startHttpServer
» s идемпотентность в код вызова обе функции вместо ... Кроме того, если вы не завернуть как логику в третьей функции (что делает startHttpServer
в первую очередь), это вынуждает вас писать незадействованный код, экспоненциально дублируя его везде, где вам нужно будет позвонить startHttpServer
. Короче говоря, startHttpServer
должна сама вызывать isHttpServerRunning
функцию.
Итак, моя точка зрения такова:
- Реализуйте
isHttpServerRunning
функцию, потому что это может понадобиться независимо в любом случае ...
- Реализуйте,
startHttpServer
используя его, isHttpServerRunning
чтобы определить его следующее действие соответственно ...
Тем не менее, вы можете startHttpServer
вернуть любое значение, которое может понадобиться пользователю этой функции, например:
0
=> Ошибка запуска сервера
1
=> Успешный запуск сервера
2
=> сервер уже запущен
Наименование функции
Прежде всего, какова основная цель пользователя? Чтобы запустить HTTP-сервер , верно?
По сути, нет проблем с намерением начать то, что уже началось, АКА 1*1=1
. Так что, по крайней мере для меня, называть это " ensureHttpServerIsRunning
", кажется, не является критически необходимым, я бы больше заботился о том, насколько длинным, естественным и запоминающимся является название функции.
Теперь, если вы хотите узнать, как подробно работает функция под капотом, для этого есть документация или источник кода, я имею в виду, как и для любой другой функции из библиотеки / framework / API / etc ...
Вы изучаете функцию один раз, а пишете ее несколько раз ...
Так или иначе, я бы придерживался того, startHttpServer
что короче, проще и понятнее, чем ensureHttpServerIsRunning
.