Як той, хто реалізує цей інструмент , startHttpServer
ви повинні намагатися зробити його найбільш простим, гладким і безпроблемним у використанні ...
Логіка функції
Технічно, шляхом розщеплення startHttpServer
«s логіка в 2 -х функцій і називаючи їх по окремо , все , що ви робите це переміщення startHttpServer
» s ідемпотентність в код виклику обидві функції замість ... Крім того, якщо ви не звернути як логіку в третьої функції (що робить startHttpServer
по-перше), це змушує вас писати код unDRYed, дублюючи його експоненціально скрізь, де вам доведеться зателефонувати startHttpServer
. Коротше кажучи, startHttpServer
доводиться називати себе isHttpServerRunning
функцією.
Отже, моя думка:
isHttpServerRunning
Функція реалізації, оскільки це може знадобитися незалежно в будь-якому випадку ...
- Реалізуйте,
startHttpServer
використовуючи його isHttpServerRunning
для визначення відповідної наступної дії ...
Тим не менш, ви можете startHttpServer
повернути будь-яке значення, яке може знадобитися користувачеві цієї функції, наприклад:
0
=> помилка запуску сервера
1
=> сервер починає успіх
2
=> сервер вже запущений
Іменування функції
Перш за все, яка головна мета користувача? Щоб запустити сервер HTTP , правда?
По суті, немає жодної проблеми, маючи намір почати щось, що вже було розпочато, AKA 1*1=1
. Тож, принаймні, мені називати це " ensureHttpServerIsRunning
" видається не критично необхідним, я б більше піклувався про те, як довго, природно і запам'ятовується ім'я функції.
Тепер, якщо ви хочете дізнатися, як детально працювати функція під кришкою, є документація або джерело коду для цього, я маю на увазі, як і для будь-якої іншої функції з бібліотеки / фреймворку / API / тощо ...
Ви дізнаєтесь функцію один раз, коли ви пишете її кілька разів ...
Так що я все-таки дотримуюся цього, startHttpServer
який коротший, простіший і чіткіший, ніж ensureHttpServerIsRunning
.