.NET 幫助

C# 命名規範(開發者如何使用)

里根普恩
里根普恩
2024年10月24日
分享:

命名規範是一套開發人員用來一致地命名變數、方法、類別和其他實體的規則和指導方針。 一致的命名不僅提高了程式碼的可讀性,還有助於其他開發人員理解和維護您的程式碼。 以下我們將逐步介紹C#命名約定,重點放在實際使用和範例上。 讓我們直接來討論命名規則和IronPDF 庫稍後在本文中。

命名規則概覽

類別和介面

類別名稱應遵循帕斯卡命名法。 這意味著名稱中的每個單詞都以大寫字母開頭,沒有下劃線或空格。 介面名稱也應遵循帕斯卡命名法,但以前綴 I 開始。 例如:

public class Customer
{
    public decimal Balance { get; set; }
}
public interface ICustomer
{
    decimal GetBalance();
}
public class Customer
{
    public decimal Balance { get; set; }
}
public interface ICustomer
{
    decimal GetBalance();
}

注意類別名稱 Customer 和介面名稱 ICustomer 都遵循 Pascal 大小寫。 I 前綴使得 ICustomer 類型明確為介面。

方法

方法名稱 也使用帕斯卡命名法。 每個方法名稱的開頭字母應大寫,隨後每個單詞的首字母也應大寫。 以下是方法定義的範例:

public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}
public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}

對於入口方法,**static void Main()在這種情況下,慣例相同——對方法名稱使用 Pascal 命名法。

屬性

如同方法名稱,屬性名稱也使用帕斯卡命名法。 屬性應該命名為明確描述它們所代表的內容:

public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }

局部變量和方法參數

本地變量方法參數應使用駝峰命名法。 這表示第一個字以小寫表示,後續的單字以大寫字母開頭,且不帶空格或底線。 這與 Pascal 的大寫規則不同,因為第一個字母不大寫。

public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}
public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}

在此範例中,區域變數 selectedCustomer 遵循駝峰式命名法,而 方法參數 customerName 也是使用駝峰式命名法。

方法參數

方法參數的名稱應該具描述性並遵循駝峰式命名規範。 這可以提高程式碼的可讀性,並幫助開發人員理解每個參數所代表的意義。

public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}
public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}

靜態成員和欄位

類別中的靜態成員,如靜態字段常量方法,也遵循特定的命名約定。

靜態欄位

對於靜態字段,命名約定是使用駝峰命名法,但帶有下劃線前綴。 這使它們與其他領域區別開來。

private static int _totalCustomers;
private static int _totalCustomers;

常數

常數通常使用全大寫字母命名,單詞之間用下劃線分隔以提高可讀性。 例如:

public const int MAX_CUSTOMERS = 100;
public const int MAX_CUSTOMERS = 100;

事件處理器

事件處理程序方法名稱應該描述他們所處理的事件,通常是使用On前綴加上事件名稱。 事件處理方法的參數通常包括物件發送者和事件參數。

private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}
private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}

在這個場合中,參數被命名為 sender 和 e。 遵循這種命名規範可以使您的事件處理程序與業界標準保持一致。

命名私有字段和物件初始化器

私有字段應遵循駝峰命名規則,但應以底線作為前綴。 這有助於將它們與區域變數和方法參數區分開來。

private string _customerName;
private string _customerName;

在使用物件初始設定器時,您可以在建立類別實例時直接為屬性賦值:

var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};
var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};

在此範例中,屬性名稱 Balance 和 DateOpened 使用 Pascal 命名法,符合屬性的命名慣例。

異常處理與方法

處理例外時,方法名稱應仍符合 Pascal Case 命名慣例。 例外類別名稱也應採用帕斯卡命名法,並以例外結尾。 例如:

public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}
public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}

返回類型和方法定義

始终確保您的方法定義具有有意義的名稱和適當的返回類型。返回類型應從方法簽名中明確顯示。 以下是一個範例:

public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}
public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}

在此範例中,方法名稱 CalculateTotalBalance 是描述性的,並遵循 Pascal Case 命名約定。

C#常數的命名約定

在 C# 中,常量名稱應全部使用大寫字母,並以底線分隔單詞。 這使常數從其他變數中脫穎而出。 以下是一個範例:

public const double PI = 3.14159;
public const double PI = 3.14159;

這個約定適用於不同類型,確保常數名稱在程式碼中一致且易於識別。

C# 換行和大括號的編碼約定

C# 也有關於換行大括號編碼約定。 在 C# 中,每個開啟的大括號{應該與它所屬的語句在同一行,並且是閉合的括弧}** 應該在新的一行,與相應的陳述對齊。 以下是一個範例:

public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}
public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}

使用正確的格式化使代碼更易於閱讀和遵循。

避免匈牙利符號命名法

在現代 C# 開發中,匈牙利命名法 是指將變數名稱以資料類型作為前綴。(例如,strName表示字串,或intCount表示整數。),不被鼓勵。 相反地,使用有意義的名稱來描述變數的目的而不是其資料類型:

public string CustomerName { get; set; }
public int OrderCount { get; set; }
public string CustomerName { get; set; }
public int OrderCount { get; set; }

這種方法使代碼更加清晰和易於維護。

使用 IronPDF 的命名約定

C# 命名規範(開發人員如何使用):圖 1 - IronPDF:C# PDF 庫

在整合时IronPDF在您的 C# 專案中,遵循命名慣例以保持清晰、易讀的程式碼是至關重要的。 IronPDF 允許您生成從 HTML 內容生成 PDF 文件在您的C#應用程式中。 在此過程中,遵循命名慣例為您的類別、方法和變數命名,以保持一致性是很重要的。 以下是使用 IronPDF 的命名規則簡單實作範例,以提升程式碼可讀性,同時遵循這些命名規則:

using IronPdf;
public class PdfReportGenerator
{
    private readonly string _htmlContent;
    private readonly string _filePath;
    public PdfReportGenerator(string htmlContent, string filePath)
    {
        _htmlContent = htmlContent;
        _filePath = filePath;
    }
    public void GenerateReport()
    {
        var pdfRenderer = new ChromePdfRenderer();
        PdfDocument pdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent);
        pdfDocument.SaveAs(_filePath);
    }
}
public static class Program
{
    public static void Main()
    {
        var htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>";
        var filePath = @"C:\Reports\MonthlyReport.pdf";
        PdfReportGenerator reportGenerator = new PdfReportGenerator(htmlContent, filePath);
        reportGenerator.GenerateReport();
    }
}
using IronPdf;
public class PdfReportGenerator
{
    private readonly string _htmlContent;
    private readonly string _filePath;
    public PdfReportGenerator(string htmlContent, string filePath)
    {
        _htmlContent = htmlContent;
        _filePath = filePath;
    }
    public void GenerateReport()
    {
        var pdfRenderer = new ChromePdfRenderer();
        PdfDocument pdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent);
        pdfDocument.SaveAs(_filePath);
    }
}
public static class Program
{
    public static void Main()
    {
        var htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>";
        var filePath = @"C:\Reports\MonthlyReport.pdf";
        PdfReportGenerator reportGenerator = new PdfReportGenerator(htmlContent, filePath);
        reportGenerator.GenerateReport();
    }
}

透過遵循這些命名規則,您的程式碼在使用IronPDF生成報告時將保持專業、有條理且易於閱讀。

結論

C# 命名規範(開發人員如何運作):圖 2 - IronPDF 許可頁面

通過遵循這些 C# 命名約定,您可以確保您的代碼清晰、易讀且易於維護。 無論是對類名使用帕斯卡命名法、對局部變量使用駝峰式命名法,還是對私有欄位使用下劃線前綴,這些慣例都有助於建立一致的代碼庫。

利用 IronPDF,您可以深入探索它的所有功能,並享有一個免費試用. 此試用版讓您親自體驗其如何有效整合到您的工作流程中。 當您準備好邁出下一步時,授權證書起價僅為 $749。

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
C# 可空類型 (開發者如何使用)
下一個 >
C# 初始化列表(開發人員如何運作)