Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poniższych artykułach opisano wskazówki dotyczące formatowania kodu języka F# i wskazówek dotyczących tematów dotyczących funkcji języka oraz sposobu ich użycia.
Te wskazówki zostały sformułowane na podstawie użycia języka F# w dużych bazach kodu z zróżnicowaną grupą programistów. Te wskazówki zwykle prowadzą do pomyślnego korzystania z języka F# i minimalizuje frustracje, gdy wymagania dotyczące programów zmieniają się w czasie.
Pięć zasad dobrego kodu języka F#
Należy pamiętać o następujących zasadach podczas pisania kodu języka F#, zwłaszcza w systemach, które zmieniają się w czasie. Każda część wskazówek w dalszych artykułach wynika z tych pięciu punktów.
Dobry kod F# jest zwięzły, ekspresyjny i komponowalny
Język F# ma wiele funkcji, które umożliwiają wyrażanie akcji w mniejszej liczbie wierszy kodu i ponowne używanie funkcji ogólnych. Podstawowa biblioteka języka F# zawiera również wiele przydatnych typów i funkcji do pracy z typowymi kolekcjami danych. Kompozycja własnych funkcji i tych w bibliotece podstawowej języka F# (lub innych bibliotek) jest częścią rutynowego idiomatycznego programowania w języku F#. Ogólnie rzecz biorąc, jeśli możesz wyrazić rozwiązanie problemu w mniejszej liczbie wierszy kodu, inni deweloperzy (lub ty sam w przyszłości) to docenią. Zdecydowanie zaleca się również użycie biblioteki, takiej jak FSharp.Core czy ogromne biblioteki .NET, na których działa F#, lub pakietu innej firmy na NuGet, gdy konieczne jest wykonanie zadania nietrywialnego.
Dobry kod F# jest współdziałalny
Interoperacyjność może przyjmować wiele form, w tym korzystanie z kodu w różnych językach. Granice kodu, z którymi współdziałają inne osoby wywołujące, mają krytyczne znaczenie, nawet jeśli osoby wywołujące znajdują się również w języku F#. Podczas pisania języka F# zawsze należy myśleć o tym, jak inny kod będzie wywoływać kod, który piszesz, w tym jeśli to zrobi z innego języka, takiego jak C#. Wytyczne dotyczące projektowania składników języka F# szczegółowo opisują współdziałanie.
Dobry kod języka F# korzysta z programowania obiektów, a nie orientacji obiektu
Język F# ma pełną obsługę programowania z obiektami na platformie .NET, w tym klas, interfejsów, modyfikatorów dostępu, klas abstrakcyjnych itd. W przypadku bardziej skomplikowanego kodu funkcjonalnego, takiego jak funkcje, które muszą być świadome kontekstu, obiekty mogą łatwo hermetyzować informacje kontekstowe w sposób, którego funkcje nie mogą. Funkcje, takie jak parametry opcjonalne i staranne użycie przeciążenia , mogą ułatwić korzystanie z tej funkcji dla osób wywołujących.
Dobry kod F# działa dobrze bez uwidaczniania mutacji
Nie jest tajemnicą, że aby napisać kod o wysokiej wydajności, musisz użyć mutacji. W ten sposób komputery działają w końcu. Taki kod jest często podatny na błędy i trudny do poprawnego zrobienia. Unikaj ujawniania mutacji osobom wywołującym. Zamiast tego utwórz interfejs funkcjonalny, który ukrywa implementację opartą na mutacji , gdy wydajność jest krytyczna.
Dobry kod w F# dobrze współpracuje z narzędziami
Narzędzia są nieocenione do pracy w dużych bazach kodu i można napisać kod języka F#, aby można było go efektywniej używać za pomocą narzędzi języka F#. Jednym z przykładów jest upewnienie się, że nie przesadzasz z bezcelowym stylem programowania, dzięki czemu wartości pośrednie można sprawdzić za pomocą debugera. Innym przykładem jest użycie komentarzy dokumentacji XML opisujących konstrukcje, tak aby podpowiedzi w edytorach mogły wyświetlać te komentarze w miejscu wywołania. Zawsze zastanów się, jak kod będzie odczytywany, nawigowany, debugowany i manipulowany przez innych programistów przy użyciu ich narzędzi.
Dalsze kroki
Wytyczne dotyczące formatowania kodu języka F# zawierają wskazówki dotyczące formatowania kodu, dzięki czemu można łatwo je odczytać.
Konwencje kodowania języka F# zawierają wskazówki dotyczące idiomów programowania języka F#, które pomogą w długoterminowej konserwacji większych baz kodu F#.
Wskazówki dotyczące projektowania składników języka F# zawierają wskazówki dotyczące tworzenia składników języka F#, takich jak biblioteki.