共用方式為


F# 樣式指南

下列文章說明格式化 F# 程式代碼的指導方針,以及語言功能的主題指引及其使用方式。

本指導方針是根據在大型程式碼基底中使用 F# 與各種程式設計人員群組所制定。 本指南通常會導致 F# 成功使用,並在程式需求隨著時間變更時將挫折降至最低。

良好 F# 程式代碼的五個原則

當您撰寫 F# 程式代碼時,請牢記下列原則,特別是在會隨著時間變更的系統中。 進一步文章中的每個指導方針都來自這五點。

  1. 良好的 F# 程式代碼簡潔、表達性和可撰寫性

    F# 有許多功能,可讓您以較少的程式代碼行表達動作,並重複使用一般功能。 F# 核心連結庫也包含許多實用的類型和函式,可用來處理常見的數據集合。 您自己的函式和 F# 核心庫中的函式(或其他庫)的組合是日常慣用 F# 程式設計的一部分。 一般規則是,如果您能以較少的程式代碼表達問題的解決方案,其他開發人員(或未來的自我)將會受到讚賞。 此外,強烈建議您使用像 FSharp.Core 這樣的函式庫、F# 所運行的大型 .NET 函式庫,或者在您需要執行複雜工作時,使用 NuGet 上的第三方套件。

  2. 良好的 F# 程式代碼可互通

    互操作可以採用多種形式,包括使用不同語言的程式碼。 即使呼叫端也使用 F#,您的程式碼的界限是其他呼叫端進行互操作時需要正確處理的重要部分。 撰寫 F# 時,您應該一律考慮其他程式代碼將如何呼叫您正在撰寫的程式代碼,包括它們是否從 C# 等其他語言呼叫。 F# 元件設計指導方針會詳細說明互作性。

  3. 良好的 F# 程式代碼會使用物件程序設計,而不是物件方向

    F# 完全支援在 .NET 中使用對象進行程序設計,包括 類別介面存取修飾詞抽象類等等。 對於更複雜的功能程序代碼,例如必須具備內容感知的函式,物件可以輕鬆地以函式無法的方式封裝內容資訊。 選擇性參數和謹慎使用多載等功能,可讓呼叫端更輕鬆地取用這項功能。

  4. 良好的 F# 程式代碼在未暴露突變的情況下執行良好

    撰寫高效能程式代碼並無秘密,您必須使用突變。 畢竟,計算機的運作方式就是這樣。 這類程式代碼通常容易出錯且難以正確。 避免對來電者暴露突變。 相反地, 建置功能介面,以在效能至關重要時隱藏以突變為基礎的實 作。

  5. 良好的 F# 程式碼便於使用工具

    工具對於在大型程式代碼基底中運作非常寶貴,而且您可以撰寫 F# 程式代碼,使其可以更有效地搭配 F# 語言工具使用。 其中一個範例是確保您不要過度使用無參數風格的程式設計,這樣才能用調試程式檢查中間值。 另一個範例是使用 XML 檔批注 來描述建構,讓編輯器中的工具提示可以在呼叫網站顯示這些批注。 時刻思考其他程式設計人員將如何讀取、巡覽、偵錯以及操作你的程式代碼,並使用他們的工具。

後續步驟

F# 程式代碼格式指導方針提供如何格式化程式代碼的指引,讓您易於閱讀。

F# 編碼慣例提供 F# 程式設計慣用語的指引,可協助長期維護較大的 F# 程式代碼基底。

F# 元件設計指導方針提供撰寫 F# 元件的指引,例如連結庫。