Megosztás:


F# stíluskalauz

Az alábbi cikkek ismertetik az F# kód formázására vonatkozó irányelveket, valamint a nyelv funkcióira és azok használati módjára vonatkozó aktuális útmutatást.

Ez az útmutató az F# nagy kódbázisokban való használata alapján lett kialakítva, programozók széles körében. Ez az útmutató általában az F# sikeres használatához vezet, és minimalizálja a frusztrációkat, amikor a programok követelményei idővel változnak.

A jó F#-kód öt alapelve

Tartsa szem előtt az alábbi alapelveket minden alkalommal, amikor F#-kódot ír, különösen azokban a rendszerekben, amelyek idővel változnak. A további cikkek minden egyes útmutatója ebből az öt pontból ered.

  1. A jó F#-kód tömör, kifejező és összeállítható

    Az F# számos olyan funkcióval rendelkezik, amelyek lehetővé teszik a műveletek kevesebb kódsorban történő kifejezését és az általános funkciók újrafelhasználását. Az F#-alapkönyvtár számos hasznos típust és függvényt tartalmaz a gyakori adatgyűjtemények használatához. A saját függvények és az F#-magtárban (vagy más kódtárakban) lévők összetétele a rutinszerű idiomatikus F# programozás része. Általános szabályként, ha kevesebb kódsorban tud megoldást kínálni egy problémára, más fejlesztők (vagy ön a jövőben) értékelni fogják. Azt is javasoljuk, hogy olyan kódtárakat használjon, mint az FSharp.Core, az F# által futtatott hatalmas .NET-kódtárak vagy egy külső csomag a NuGeten , ha nemtriviális feladatot kell elvégeznie.

  2. A jó F#-kód interoperábilis

    Az együttműködés többféleképpen valósulhat meg, ideértve a kód különböző nyelveken való fogyasztását is. A kód azon határai, amelyekkel más hívók együttműködnek, kritikus fontosságúak a helyes működéshez, még akkor is, ha a hívók szintén F#-ban vannak. Az F# írásakor mindig arra kell gondolnia, hogy más kód hogyan hívja meg az éppen írt kódot, beleértve azt is, ha ezt egy másik nyelvről, például a C# nyelvről teszi. Az F#-összetevők tervezési irányelvei részletesen ismertetik az együttműködési képességet.

  3. A jó F#-kód az objektumprogramozást használja, nem az objektum tájolását

    Az F# teljes mértékben támogatja a .NET-objektumok programozását, beleértve az osztályokat, interfészeket, hozzáférési módosítókat, absztrakt osztályokat stb. Az összetettebb funkcionális kódok esetében, mint például a környezetfüggő függvények, az objektumok könnyen be tudják ágyazni a környezeti információkat olyan módon, ahogyan a függvények nem. Az olyan funkciók, mint az opcionális paraméterek és a túlterhelés gondos használata megkönnyítik a hívók számára ezt a funkciót.

  4. A jó F#-kód jól működik a mutáció felfedése nélkül

    Nem titok, hogy nagy teljesítményű kód írásához mutációt kell használnia. Végül is így működnek a számítógépek. Az ilyen kód gyakran hajlamos a hibákra, és nehezen sikerül helyesen elkészíteni. Kerülje a mutációk kitettségét a hívók felé. Ehelyett hozzon létre egy funkcionális felületet, amely elrejt egy mutációalapú implementációt , ha a teljesítmény kritikus.

  5. A jó F#-kód használható

    Az eszközök felbecsülhetetlen értékűek a nagy kódbázisokban való munkavégzéshez, és F#-kódot is írhat, hogy hatékonyabban lehessen használni az F#-nyelvi eszközökkel. Egy példa erre, hogy ne vigye túlzásba a pont nélküli programozás stílusát, hogy a köztes értékeket egy hibakeresővel megvizsgálhassa. Egy másik példa a szerkezeteket leíró XML-dokumentációs megjegyzések használata, amelyek segítségével a szerkesztők elemleírásai megjeleníthetik ezeket a megjegyzéseket a híváswebhelyen. Mindig gondolja át, hogyan fogják más programozók az eszközeikkel olvasni, navigálni, hibakeresni és manipulálni a kódját.

Következő lépések

Az F# kódformázási irányelvei útmutatást nyújtanak a kód formázásához, hogy könnyen olvasható legyen.

Az F# kódolási konvenciók útmutatást nyújtanak az F# programozási kifejezésekhez, amelyek segítenek a nagyobb F#-kódbázisok hosszú távú karbantartásában.

Az F#-összetevők tervezési irányelvei útmutatást nyújtanak az F#-összetevők, például a kódtárak készítéséhez.