Bir kenara: Bunu dallin sorusuna yanıt olarak yazdım (şimdi kapalı) ama yine de birisinin bu konuda yardımcı olabileceğini düşünüyorum
Atomizasyon fonksiyonlarının nedeninin 2 kat olduğunu ve @jozefg in bahsettiği gibi kullanılan dile bağlı olduğunu düşünüyorum.
Endişelerin Ayrılması
Bunu yapmanın temel nedeni, farklı kod parçalarını ayrı tutmaktır, bu nedenle işlevin istenen sonucuna / amacına doğrudan katkıda bulunmayan herhangi bir kod bloğu ayrı bir endişedir ve çıkarılabilir.
Bir ilerleme çubuğunu da güncelleyen bir arka plan göreviniz olduğunu söyleyin; ilerleme çubuğu güncellemesi, uzun süredir devam eden görevle doğrudan ilişkili değildir; bu nedenle, ilerleme çubuğunu kullanan tek kod parçası olsa bile çıkarılmalıdır.
JavaScript’te bir fonksiyona sahip olduğunuzu söyleyin getMyData (), 1) parametrelerden bir sabun mesajı oluşturur, 2) bir servis referansı başlatır, 3) servisi sabun mesajı ile çağırır, 4) sonucu ayrıştırır, 5) sonucu döndürür. Ben bu tam fonksiyon defalarca makul yazdım görünüyor - ama gerçekten bu olabilir sadece diğer kod hiçbiri olarak 3 & 5 için kod (Eğer) dahil 3 özel fonksiyonlar içine bölünmüş olması hizmetinden veri alma doğrudan sorumlu .
Gelişmiş Hata Ayıklama Deneyimi
Tamamen atomik işlevleriniz varsa, yığın izlemeniz, başarılı bir şekilde yürütülen tüm kodları listeleyen bir görev listesi haline gelir, yani:
- Verilerimi Al
- Hizmet Referansını Başlat
- Ayrıştırılmış Hizmet Yanıtı - ERROR
veri alırken bir hata olduğunu bulmaktan sonra daha ilginç olurdu. Ancak bazı araçlar daha sonra ayrıntılı çağrı ağaçlarının hatalarını ayıklamak için daha da faydalıdır, örneğin Microsofts Debugger Canvas .
Ayrıca, bu şekilde yazılan kodları takip etmenin zor olacağına dair endişelerinizi de anlıyorum, çünkü günün sonunda, çağrı ağacınızın daha karmaşık olacağı tek bir dosyada bir işlev sırası seçmeniz gerekir. . Ancak, işlevler iyi adlandırılırsa (intellisense, herhangi bir işlevde 3-4 kamal harfli sözcük kullanmama izin verirse, lütfen beni yavaşlatmadan) ve dosyanın en üstünde ortak arabirim ile yapılandırılmışsa, kodunuz sahte kod gibi Bir kod temeli hakkında üst düzeyde bir anlayışa sahip olmanın en kolay yoludur.
Bilginize - bu benim "söylediğim gibi yap" şeylerinden biridir, şeyleri acımasızca tutarlı kılmadığınız sürece IMHO ile tutarlı tutmuyorsanız kod atomik tutmak anlamsızdır.