Sdílet prostřednictvím


Průvodce stylem jazyka F#

Následující články popisují pokyny pro formátování kódu jazyka F# a aktuální pokyny pro funkce jazyka a jejich použití.

Tyto pokyny byly formulovány na základě použití jazyka F# ve velkých základech kódu s různorodou skupinou programátorů. Tyto pokyny obecně vedou k úspěšnému použití jazyka F# a minimalizují frustraci, když se požadavky na programy mění v průběhu času.

Pět principů dobrého kódu jazyka F#

Mějte na paměti následující principy pokaždé, když napíšete kód F#, zejména v systémech, které se v průběhu času změní. Každý návod v dalších článcích vychází z těchto pěti bodů.

  1. Dobrý kód jazyka F# je stručný, výrazný a kompozovatelný

    Jazyk F# obsahuje mnoho funkcí, které umožňují vyjádřit akce v menším počtu řádků kódu a opakovaně používat obecné funkce. Základní knihovna jazyka F# obsahuje také mnoho užitečných typů a funkcí pro práci s běžnými kolekcemi dat. Složení vlastních funkcí a funkcí v základní knihovně jazyka F# (nebo jiných knihoven) je součástí rutinního programování v jazyce F#. Obecně platí, že pokud můžete vyjádřit řešení problému v menším počtu řádků kódu, ostatní vývojáři (nebo vaše budoucí já) vám budou vděční. Důrazně se také doporučuje používat knihovnu, jako je FSharp.Core, rozsáhlé knihovny .NET , na kterém běží jazyk F#, nebo balíček třetí strany na NuGetu , pokud potřebujete provést netriviální úlohu.

  2. Dobrý kód F# je interoperabilní

    Spolupráce může mít více forem, včetně využívání kódu v různých jazycích. Hranice vašeho kódu, se kterými ostatní uživatelé interoperují, jsou klíčové prvky, které je nutné mít správně, i když uživatelé také používají F#. Při psaní jazyka F# byste měli vždy přemýšlet o tom, jak bude jiný kód volat do kódu, který píšete, včetně toho, jestli to uděláte z jiného jazyka, jako je C#. Pokyny pro návrh komponent jazyka F# podrobně popisují interoperabilitu.

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

    Jazyk F# má plnou podporu programování s objekty v .NET, včetně tříd, rozhraní, modifikátorů přístupu, abstraktních tříd atd. V případě složitějšího funkčního kódu, jako jsou funkce, které musí být vědomi kontextu, mohou objekty snadno zapouzdřovat kontextové informace způsoby, které funkce nemohou. Funkce, jako jsou volitelné parametry a pečlivé použití přetížení, mohou uživatelům usnadnit využívání této funkcionality.

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

    Není žádným tajemstvím, že při psaní vysoce výkonného kódu musíte použít mutaci. To je způsob, jakým počítače fungují, koneckonců. Takový kód je často náchylný k chybám a je obtížné ho správně získat. Zabraňte vystavení mutace volajícím. Místo toho vytvořte funkční rozhraní, které skryje implementaci založenou na mutaci , pokud je výkon kritický.

  5. Dobrý kód jazyka F# je možné použít

    Nástroje jsou neocenitelné pro práci ve velkých základech kódu a můžete napsat kód jazyka F#, který lze efektivněji používat s nástroji jazyka F#. Jedním z příkladů je zajistit, aby se to nepřehánělo se styly programování bez pojmenovaných parametrů, aby bylo možné mezihodnoty zkontrolovat pomocí ladicího programu. Dalším příkladem je použití komentářů dokumentace XML popisujících konstrukce tak, aby okénka s nápovědou v editorech mohla tyto komentáře zobrazit v místě volání. Vždy se zamyslete nad tím, jak bude váš kód čten, procházen, laděn a upravován ostatními programátory pomocí jejich nástrojů.

Další kroky

Pokyny k formátování kódu jazyka F# poskytují pokyny k formátování kódu, aby bylo snadné ho číst.

Konvence kódování jazyka F# poskytují pokyny pro idiomy programování jazyka F#, které pomohou dlouhodobé údržbě větších základů kódu F#.

Pokyny k návrhu součástí jazyka F# poskytují pokyny pro vytváření komponent jazyka F#, jako jsou knihovny.