2010-06-25 14 views
20

Chociaż nie ma jednego prawdziwego poprawnego stylu, istnieją pewne punkty ogólnej zgody w społeczności C# dotyczące standardu kodowania/stylu; Zazwyczaj są one odmianami Wytycznych projektowania .NET Framework.F # styl kodowania i standard

Jeśli jednak przyjrzeć się F #, norma wyraźnie różni się od tego, co jest normalne w języku C#. Jako przykład, funkcje dostępne na liście lub Seq (prawie) wszystkie rozpoczynają się małymi literami: List.fold, List.map (ale List.Cons i List.Empty nie ...), podczas gdy zwykle przyjmuje się, że metoda lub właściwość w języku C# powinna być pisana wielkimi literami.

Moje pytanie brzmi: są powszechnie akceptowane konwencje kodowania dla F #? Czy istnieje odpowiednik Wytycznych do projektowania ram lub dobry standard kodowania? I, jako bonus, w świecie F # opartym na białych znakach, czy ludzie mają tematy, o które można nieustannie dyskutować, podobnie jak ponadczasowe pozycjonowanie klamrowe C#?

+2

List.Cons i List.Empty to konstruktory, a nie funkcje. Dlatego zaczynają od wielkich liter. – sepp2k

+0

Rozumiem rozróżnienie; jednak chciałbym wiedzieć, czy ten rodzaj akceptowanej konwencji jest gdzieś zapisany. W języku C# obie metody i konstruktory zaczynają się od kapitału. – Mathias

Odpowiedz

23

Zespół F # przygotował dokument, który brzmi dokładnie tak, o co prosisz. (Jesteśmy obecnie w trakcie wprowadzania opinii od społeczności/osób, do których wysłaliśmy projekt). Prawdopodobnie zostanie opublikowany w najbliższej przyszłości. Na pewno opublikuję go tutaj, gdy zostanie opublikowany.

EDIT

The document is archived now i należy consult the updated version zamiast.

+0

Bardzo fajnie. Brak standardu nie jest moim największym problemem przez długi okres, ale bardzo lubię spójność, a to pomogłoby. Jakieś myśli o posiadaniu czegoś takiego jak StyleCop dla F #? – Mathias

+0

Nie mam osobistych myśli i nie mam pojęcia, że ​​ktoś planuje stworzyć takie narzędzie. (Możesz go stworzyć i stać się ważnym dla społeczności F #!)) – Brian

+1

Myślę, że większość konwencji kodowania pochodzi z tła OCaml. –

7

Aktualizacja: Papier Dona (link poniżej) został usunięty z witryny Microsoft. Jednak wydaje się, że A comprehensive guide to F# Formatting Conventions opiera się na tym samym papierze.

Don Syme's F# Coding Guidelines paper zajmuje się problemami z formatowaniem "nawiasów klamrowych" dla F #.

+2

Ten dokument wydaje się być teraz offline, ale jest https://github.com/dungpa/fantomas/blob/master/ docs/FormattingConventions.md, który najwyraźniej jest na nim oparty. – Dave

+0

Dzięki za komentowanie @Dave. Zaktualizowałem odpowiedź, podając Twoją sugestię. – bentayloruk