Příručka stylu jazyka F#

Následující články popisují pokyny pro formátování kódu F # a může být užitečná pokynů pro funkce jazyka a jejich použití.

Tyto doprovodné materiály byly formulovány na základě použití jazyka F # ve velkých základech kódu s různou skupinou programátorů. Tento návod obecně vede k úspěšnému použití F # a minimalizuje frustrations, když se požadavky na programy mění v čase.

Pět principů správného kódu F #

Mějte na paměti následující principy při každém psaní kódu F #, zejména v systémech, které se v průběhu času mění. Všechny pokyny v dalších článcích vyplývají z těchto pěti bodů.

  1. Dobrý kód F # je stručnější, výrazná a sestavitelný

    Jazyk F # má mnoho funkcí, které umožňují vyjádřit akce v méně řádcích kódu a znovu použít obecné funkce. Základní knihovna F # také obsahuje mnoho užitečných typů a funkcí pro práci s běžnými kolekcemi dat. Sestavování vlastních funkcí a těch, které jsou v základní knihovně jazyka F # (nebo jiných knihoven), je součástí rutiny rutiny idiomatickou F #. Obecně platí, že pokud můžete vyjádřit řešení problému v méně řádcích kódu, další vývojáři (nebo vaše budoucí vlastní) budou zásadní výhody. důrazně doporučujeme použít knihovnu, jako je FSharp. Core, obrovské knihovny .net , na kterých běží F #, nebo balíček třetí strany na NuGet , když potřebujete udělat úlohu netriviální.

  2. Dobrý interoperabilní kód F #

    Spoluoperace může mít několik forem, včetně využívání kódu v různých jazycích. Hranice kódu, u kterých další volající spolupracuje s, jsou důležité pro získání práva, a to i v případě, že volající jsou také v jazyce F #. Při psaní F # byste měli vždycky myslet na to, jak jiný kód bude volat do kódu, který píšete, včetně toho, pokud to udělá v jiném jazyce, jako je C#. Pokyny pro návrh součástí F # popisují interoperabilitu podrobněji.

  3. Dobrý kód F # využívá programování objektů, nikoli orientaci objektu.

    Jazyk F # má úplnou podporu pro programování s objekty v rozhraní .NET, včetně tříd, rozhraní, modifikátorů přístupu, abstraktních třída tak dále. Pro složitější funkční kód, jako jsou například funkce, které musí být kontextově závislé, mohou objekty snadno zapouzdřit kontextové informace způsobem, který funkce nedokáže. Funkce, jako jsou volitelné parametry a pečlivé použití přetížení , mohou pro volající usnadnit využití této funkce.

  4. Dobrý kód F # funguje dobře bez úniku mutací.

    Nejedná se o tajný klíč, který by mohl psát vysoce výkonný kód, musíte použít mutace. To, jak počítače fungují, jsou po všech. Takový kód je často náchylný k chybám a je obtížné získat právo. Vyhněte se úniku mutací volajícím. Místo toho Sestavte funkční rozhraní, které skrývá implementaci na základě mutací, Pokud je výkon kritický.

  5. Dobrý kód F # je nástrojů

    Nástroje jsou nevýznamné pro práci ve velkých základech kódu a můžete napsat kód F # tak, aby ho bylo možné efektivněji používat pomocí nástrojů jazyka F #. Jedním z příkladů je zajistit, aby se nepřehánějte s bezplatným stylem programování, aby mezilehlé hodnoty mohly být zkontrolovány pomocí ladicího programu. Dalším příkladem je použití dokumentačních komentářů XML popisujících konstrukce, které popisy v editorech mohou zobrazit na webu volání. Vždy se zamyslete nad tím, jak se váš kód přečte, prochází, ladí a manipuluje dalšími programátory s jejich nástroji.

Další kroky

Pokyny pro formátování kódu jazyka F # poskytují pokyny, jak formátovat kód tak, aby bylo snadné ho přečíst.

Konvence kódování f # poskytuje pokyny pro programovací idiomy f #, které pomůžou dlouhodobou údržbu větších základů kódu jazyka f #.

Pokyny pro návrh součástí f # poskytují pokyny pro vytváření komponent f #, jako jsou knihovny.