Aracılığıyla paylaş


F# stil kılavuzu

Aşağıdaki makalelerde, F# kodunu biçimlendirmeye yönelik yönergeler ve dilin özellikleri ve bunların nasıl kullanılması gerektiğiyle ilgili topikal yönergeler açıklanmaktadır.

Bu kılavuz, farklı programcı gruplarına sahip büyük kod tabanlarında F# kullanımına göre formüle edilmiştir. Bu kılavuz genellikle F# uygulamasının başarılı bir şekilde kullanılmasına yol açar ve programlar için gereksinimler zaman içinde değiştiğinde oluşan sıkıntıları en aza indirir.

İyi F# kodunun beş ilkesi

Özellikle zaman içinde değişecek sistemlerde F# kodu yazdığınız her zaman aşağıdaki ilkeleri aklınızda bulundurun. Diğer makalelerde yer alan her kılavuz, bu beş noktadan kaynaklandığını gösterir.

  1. İyi F# kodu kısa, açıklayıcı ve birleştirilebilir

    F#, eylemleri daha az kod satırıyla ifade edip genel işlevselliği yeniden kullanmanıza olanak sağlayan birçok özelliğe sahiptir. F# çekirdek kitaplığı, ortak veri koleksiyonlarıyla çalışmaya yönelik birçok yararlı tür ve işlev de içerir. Kendi işlevlerinizin ve F# çekirdek kitaplığındaki (veya diğer kitaplıklardaki) işlevlerin bileşimi, idiomatic F# programlamanın rutin bir parçasıdır. Genel bir kural olarak, bir sorunun çözümünü daha az kod satırıyla ifade edebilirseniz, diğer geliştiriciler (veya gelecekteki kendiniz) takdire değer olacaktır. Ayrıca, FSharp.Core gibi bir kitaplık, F# tarafından çalıştırılan geniş .NET kitaplıkları veya önemsiz bir görev yapmanız gerektiğinde NuGet'te üçüncü taraf bir paket kullanmanız kesinlikle önerilir.

  2. İyi F# kodu uyumlu

    Birlikte çalışma, farklı dillerde kod kullanma dahil olmak üzere birden çok form alabilir. Çağrılar F# içinde olsa bile, diğer çağrılarla etkileşimde olan kodunuzun sınırlarını doğru belirlemek kritik öneme sahiptir. F# yazarken, C# gibi başka bir dilden yazmaları da dahil olmak üzere diğer kodların yazdığınız kodu nasıl çağıracağını her zaman düşünmeniz gerekir. F# Bileşeni Tasarım Yönergeleri birlikte çalışabilirliği ayrıntılı olarak açıklar.

  3. İyi F# kodu nesne yönlendirmesini değil nesne programlamayı kullanır

    F# sınıflar, arabirimler, erişim değiştiriciler, soyut sınıflar vb. dahil olmak üzere .NET'teki nesnelerle programlama için tam desteğe sahiptir. Bağlam bilgisi olması gereken işlevler gibi daha karmaşık işlevsel kodlar için, nesneler bağlamsal bilgileri işlevlerin yapamayacağı şekilde kolayca kapsülleyebilir. İsteğe bağlı parametreler ve aşırı yüklemenin dikkatli kullanımı gibi özellikler, arayanlar için bu işlevselliğin kullanımını kolaylaştırabilir.

  4. İyi F# kodu mutasyonu göstermeden iyi performans gösterir

    Yüksek performanslı kod yazmak için mutasyonu kullanmanız gereken bir sır değil. Sonuçta bilgisayarlar böyle çalışır. Bu tür kodlar genellikle hataya açıktır ve doğru olması zordur. Mutasyonu arayanlara ifşa etmekten kaçının. Bunun yerine, performans kritik olduğunda mutasyon tabanlı bir uygulamayı gizleyen işlevsel bir arabirim oluşturun .

  5. İyi F# kodu araçlarla çalışabilir

    Araçlar büyük kod temellerinde çalışmak için çok değerlidir ve F# dil araçlarıyla daha etkili bir şekilde kullanılabilecek şekilde F# kodu yazabilirsiniz. Bir örnek, ara değerlerin hata ayıklayıcıyla denetlenebilmesi için nokta içermeyen bir programlama stiliyle aşırıya kaçmadığınızdan emin olmaktır. Diğer bir örnek, düzenleyicilerdeki araç ipuçlarının bu açıklamaları çağrı noktasında görüntüleyebileceği yapıları açıklayan XML belge açıklamalarını kullanmaktır. Kodunuzun, diğer programcılar tarafından araçlarıyla nasıl okunacağını, gezileceğini, hata ayıklanacağını ve değiştirileceğini her zaman düşünün.

Sonraki Adımlar

F# kodu biçimlendirme yönergeleri, kolay okunabilmesi için kodu biçimlendirme konusunda rehberlik sağlar.

F# kodlama kuralları, daha büyük F# kod temellerinin uzun süreli bakımına yardımcı olacak F# programlama deyimleri için rehberlik sağlar.

F# bileşeni tasarım yönergeleri, kitaplıklar gibi F# bileşenlerini yazmak için rehberlik sağlar.