Bunu uygulamak biri olarak aracı , startHttpServer, bunun en basit pürüzsüz ve yapmaya çalışıyorum gerektiğini sorunsuz kullanmak ...
İşlevin mantığı
Teknik olarak, bölme tarafından startHttpServer'ın mantığı 2 fonksiyonlarına ve onları çağıran ayrı ayrı , bütün olup ne hareketli startHttpServer s' Idempotency sen ne olduğu (üçüncü bir işlevi hem mantık sarın sürece Dahası ... yerine iki işlevi çağıran koduna startHttpServerilk olarak), bu sizi aramak zorunda kaldığınız her yere katlanarak kopyalayarak, KURUTMALI kod yazmaya zorlar startHttpServer. Kısacası, kendisini işlev startHttpServer olarak adlandırmak zorundadır isHttpServerRunning.
Yani benim açımdan:
- Uygulamak
isHttpServerRunningbu zaten bağımsız gerekebilir çünkü işlevini ...
- Uygulamak
startHttpServerkullanmak yapım isHttpServerRunningbuna göre bir sonraki eylemi tanımlamak için ...
Yine de, startHttpServerbu fonksiyonun kullanıcısının ihtiyaç duyabileceği herhangi bir değeri geri getirebilirsiniz, örneğin:
0 => sunucu başlatma hatası
1 => sunucu başlangıç başarısı
2 => sunucu zaten başlatıldı
İşlevin adlandırma
Her şeyden önce, kullanıcının temel amacı nedir? HTTP sunucusunu başlatmak için değil mi?
Temel olarak, daha önce başlamış olan bir şeye başlamak isteyen bir problem yoktur, AKA 1*1=1. Bu yüzden, en azından benim için, " ensureHttpServerIsRunning" olarak adlandırmak, kritik bir şekilde ihtiyaç duyulmuyor gibi görünüyor, işlevin adının ne kadar uzun, doğal ve akılda kalıcı olacağını umursuyorum.
Şimdi, başlık altında fonksiyonun nasıl çalıştığını bilmek istiyorsanız, bunun için dökümantasyon veya kod kaynağı var.
Sen öğrenmek sen ise bir kez fonksiyonunu yazma bunu birden çok kez ...
Her neyse, startHttpServerkendisinden daha kısa, daha basit ve daha açık olan şeylere bağlı kaldım ensureHttpServerIsRunning.