F#-stíluskalauz

A következő cikkek ismertetik az F#-kód formázására vonatkozó irányelveket, valamint a nyelv funkcióinak és használati módjának témakörét.

Ez az útmutató az F# nagy kódbázisokban való használata alapján lett megfogalmazva, programozók széles halmazával. Ez az útmutató általában az F# sikeres használatához vezet, és minimalizálja a frusztrációt, ha 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áltozni fognak. A további cikkekben szereplő útmutatások mindegyike 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, amelyekkel kevesebb sornyi kóddal fejezhet ki műveleteket, és újra felhasználhatja az általános funkciókat. Az F#-alapkönyvtár emellett számos hasznos típust és függvényt tartalmaz a közös adatgyűjtemények használatához. A saját és az F#-alapkönyvtárban (vagy más kódtárakban) lévő függvények összeállítása a rutinszerű idiomatikus F#-programozás része. Általános szabályként, ha kevesebb kódsorban tud megoldást adni egy problémára, más fejlesztők (vagy a jövőbeli ön) is értékelhetik. Emellett erősen ajánlott olyan kódtárat használni, mint az FSharp.Core, az F# által futtatott hatalmas .NET-kódtárak , vagy egy külső csomag a NuGeten , ha nem ismétlődő feladatot kell végrehajtania.

  2. A jó F#-kód együttműködik

    Az együttműködés több formában is lehetséges, beleértve a különböző nyelveken történő kódhasználatot is. A kód azon határai, amelyekkel a többi hívó együttműködik, kritikus fontosságúak a helyes működéshez, még akkor is, ha a hívó fél szintén F# nyelven van. 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 egy másik nyelvről, például a C#-ból. Az F# komponenstervezési irányelvei részletesen ismertetik az együttműködési képességet.

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

    Az F# teljes mértékben támogatja az objektumokkal való programozást a .NET-ben, 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, például a környezettudatos függvények esetében az objektumok könnyen belefoglalhatják a környezetfüggő információkat oly 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ó fél számára a funkció használatát.

  4. A jó F#-kód jól teljesít 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 hibalehetőséget rejt, és nehezen lehet helyesen kihozni. Kerülje a mutálódást a hívóknak. Ehelyett készítsen egy funkcionális felületet, amely elrejti a 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ó munkához, és F#-kódot is írhat, hogy hatékonyabban lehessen használni az F#-nyelvi eszközökkel. Az egyik példa az, hogy ne végezze el túlzásba a pont nélküli programozást, hogy a köztes értékeket egy hibakeresővel is megvizsgálhassa. Egy másik példa az XML-dokumentáció olyan szerkezeteket leíró megjegyzéseinek használata, amelyek segítségével a szerkesztők elemleírásai megjeleníthetik ezeket a megjegyzéseket a hívási webhelyen. Mindig gondolja végig, hogyan fogja olvasni, navigálni, hibakeresést és manipulálni a kódot más programozók az eszközeikkel.

Következő lépések

Az F#-kódformázási irányelvek ú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 kódtárak készítéséhez.