- "Railway Oriented Programming" (ROP) hakkında bir yazı; yazılım geliştirmede işlevsel hata işleme yaklaşımı
- Demiryolu benzetmesine dayanan ROP, anlaşılması kolay ve eğlenceli
- GitHub'da ROP yaklaşımını kullanarak klasik C# ile F#'ı karşılaştıran bir proje oluşturulmuş
- ROP'un aşırı uçta kullanılmasına karşı uyarı; bunu "Against Railway-Oriented Programming" başlıklı bir yazı ayrıntılı biçimde açıklıyor
- Bu konu NDC London 2014, NDC Oslo 2014, Functional Programming eXchange 2014 gibi çeşitli konferanslarda sunulmuş
- ROP'a yaklaşım, Haskell'in Either monadı ve Kleisli bileşimiyle ilişkili olsa da bunun bir monad öğreticisi olma iddiası yok
- Somut örneklerle başlayıp soyut kavramlara geçmenin önemi vurgulanıyor
- Kullanıcı tanımlı hata türleri listesi kullanımı, monadik ve monadik olmayan fonksiyonları pipeline içine entegre etme, exception'lardan hata durumlarına eşleme, monadik fonksiyonları paralel birleştirme gibi teknikler içeren bir ROP yaklaşımı
- Tutarlı bir stil dayatan ve bakımı kolay çok amaçlı bir ROP şablonu sunmayı hedefliyor
- NuGet ile çalışan hazır bir F# kütüphanesi isteyenlere Chessie projesi öneriliyor
- ROP teknikleriyle oluşturulmuş örnek bir web servisi ve FizzBuzz'a uygulanan ROP yaklaşımı da yer alıyor
- Either ve Kleisli bileşimi hakkında daha fazla ayrıntı isteyenler için, monadlarla ilgili çeşitli yazılar ve öğreticilerden oluşan ek okuma önerileri sunuluyor
2 yorum
Hatasız programlar oluşturmak için Railway-Oriented Programming
Hacker News görüşleri
withanahtar sözcüğünün kullanımını ROP'un pratik bir uygulaması olarak öne çıkarıyor. Bunun, fonksiyonların sıralı biçimde çalıştırılmasını sağladığını ve herhangi bir fonksiyon beklenen çıktı ile eşleşmediğinde erken dönüşe imkan verdiğini belirtiyor.