6 puan yazan superlucky84 2026-01-21 | 1 yorum | WhatsApp'ta paylaş

1. Motivasyon – neden yapıldı

Fonksiyonel programlamada hangi değerin önemli görüldüğü kişiden kişiye değişebilir diye düşünüyorum.
Bazıları kuramsal tutarlılığı, bazıları ise soyutlamanın tutarlılığını daha önemli görebilir.

Ben ise bunların içinde özellikle
pipe ile veri akışını bildirime dayalı biçimde tek bakışta görebilme noktasını
fonksiyonel programlamanın en büyük avantajı olarak gördüm.

Özellikle JavaScript gibi kodun kolayca karmaşıklaşabildiği ortamlarda,
verinin nereden gelip nereye aktığının gözle görülebilen bir yapı içinde olması
pratik iş geliştirmede daha da önemli diye düşündüm.

Ancak bu yaklaşımı
programlama anlayış seviyeleri birbirinden farklı üyelerden oluşan ekip odaklı gerçek iş ortamına uygulamaya çalışınca,
sık sık pratik kısıtlarla karşılaşılıyor.

Fonksiyonel desenleri uygulama sürecinde
değerler giderek daha soyut yapılara sarılıyor,
ara adımların her birinde ayrı kuralları anlamak gereken anlar arttıkça,
asıl baktığımda en önemli olan “tüm pipeline akışının okunabilirliği”
birkaç kez bulanıklaşabiliyor.

Son dönemde kod üretimine yardımcı araçlar giderek daha rafine hâle gelirken,
istenmeden tasarımın aşırı karmaşıklaştığı durumlarla da sık karşılaşmaya başladım.
Bu yüzden fp-pack’te ister insan ister araç olsun,
olabildiğince yalnızca basit biçimde pipeline yazmaya yönlendiren bir yapıyı
bilinçli olarak seçtim.

fp-pack, bu deneyimlerden yola çıkarak,
kuramsal bütünlükten çok
ekip ortamında sürdürülebilir şekilde korunabilecek Pipe odaklı okunabilirliği
önceliklendiren kişisel bir projedir.

Fonksiyonel yan etki işlemenin belirli kuramlara aşina kişilerle sınırlı kalmaması için,
anlaşılması kolay kalıplarla yeniden yorumlanmış deneysel bir Side Effect işleme yaklaşımı da birlikte eklendi
(ilgili kılavuz 👉 https://superlucky84.github.io/fp-pack/#/ko/guide/side-effect-guide).


2. Temel ilkeler

  • Plain Value odaklı
    Pipeline içinde değerleri gereksiz yere sarmadan,
    Plain Object / Plain Value’yu olduğu gibi koruyarak
    akışın anlaşılmasını ve debug sürecini sezgisel hâle getirdi.

  • Side Effect’in açık ayrımı
    Yalnızca durdurma (Early Exit) veya istisna işleme gerektiğinde
    ayrı, özel bir pipeline kullanılacak şekilde tasarlandı.

  • Düşük öğrenme eğrisi
    Yeni kavramlar eklemektense
    alışıldık pipe, pipeAsync kullanım desenlerini merkeze alarak
    ekip içinde paylaşmayı kolaylaştırdı.

  • Tip güvenliği
    TypeScript kullanarak
    pipeline ortasındaki tip uyuşmazlıklarının derleme zamanında kontrol edilebilmesini sağladı.


3. Kapanış

Karmaşık kavramları yeniden öğrenmek zorunda kalmadan,
JavaScript / TypeScript ortamında
fonksiyonel programlamanın temel avantajı olan
**“veri akışını okunması kolay kodla ifade etme”**yi
pratik iş geliştirmede doğal biçimde kullanmak isteyenler için
bir seçenek olmasını umuyorum.


🔗 Dokümantasyon
https://superlucky84.github.io/fp-pack/#/ko

🔗 GitHub
https://github.com/superlucky84/fp-pack


1 yorum

 
superlucky84 2026-01-21

Başlangıç ve orta seviye geliştiriciler de dahil olmak üzere farklı geçmişlere sahip ekip üyelerinin
belirli bir stile ya da düşünme biçimine kendilerini zorla uydurmasına gerek kalmadan,
sadece fonksiyon, pipe ve currying kavramlarını anlamalarıyla
doğal biçimde kullanabilecekleri,
fonksiyonel düşünceyle zenginleştirilmiş bir programlama yaklaşımını hayal ederek
fp-pack'i oluşturdum.