Zum Fußzeileninhalt springen
.NET HILFE

C# Namenskonventionen (Wie es für Entwickler funktioniert)

Benennungskonventionen sind eine Reihe von Regeln und Richtlinien, denen Entwickler folgen, um Variablen, Methoden, Klassen und andere Entitäten konsistent zu benennen. Konsistente Benennungen verbessern nicht nur die Lesbarkeit des Codes, sondern helfen auch anderen Entwicklern, Ihren Code zu verstehen und zu warten. Im Folgenden gehen wir die C#-Benennungskonventionen Schritt für Schritt durch und konzentrieren uns auf praktische Anwendungen und Beispiele. Lassen Sie uns direkt in die Benennungskonventionen eintauchen und später im Artikel die IronPDF-Bibliothek besprechen.

Übersicht über die Namenskonventionen

Klassen und Schnittstellen

Klassennamen sollten der Pascal-Case-Benennungskonvention folgen. Das bedeutet, dass jedes Wort im Namen mit einem Großbuchstaben beginnt, ohne Unterstriche oder Leerzeichen. Schnittstellennamen sollten auch Pascal Case folgen, jedoch mit dem Präfix I beginnen. Zum Beispiel:

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();
}
Public Class Customer
	Public Property Balance() As Decimal
End Class

Public Interface ICustomer
	Function GetBalance() As Decimal
End Interface
$vbLabelText   $csharpLabel

Beachten Sie, dass sowohl der Klassenname Customer als auch der Schnittstellenname ICustomer der Pascal-Schreibweise folgen. Das Präfix I macht deutlich, dass es sich bei dem Typ ICustomer um eine Schnittstelle handelt.

Methoden

Methodennamen verwenden ebenfalls das Pascal Case. Jeder Methodenname sollte mit einem Großbuchstaben beginnen und jedes nachfolgende Wort sollte ebenfalls mit einem Großbuchstaben beginnen. Hier ist ein Beispiel für Methodendefinitionen:

public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}
public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}
Public Function CalculateInterest(ByVal principal As Decimal, ByVal rate As Decimal) As Decimal
	Return principal * rate
End Function
$vbLabelText   $csharpLabel

Für die Einstiegspunktmethode static void Main() gilt dieselbe Konvention – verwenden Sie Pascal Case für den Methodennamen.

Eigenschaften

Wie Methodennamen verwenden auch Eigenschaftennamen Pascal Case. Eigenschaften sollten so benannt werden, dass sie klar beschreiben, was sie repräsentieren:

public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
Public Property DateOpened() As DateTime
Public Property Reserves() As Decimal
$vbLabelText   $csharpLabel

Lokale Variablen und Methodenargumente

Lokale Variablen und Methodenargumente sollten Camel Case verwenden. Das bedeutet, dass das erste Wort in Kleinbuchstaben ist und nachfolgende Wörter mit einem Großbuchstaben beginnen, ohne Leerzeichen oder Unterstriche. Dies unterscheidet sich von Pascal Case dadurch, dass der erste Buchstabe nicht großgeschrieben wird.

public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}
public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}
Public Sub SelectCustomer(ByVal customerName As String)
	Dim selectedCustomer = FindCustomer(customerName)
End Sub
$vbLabelText   $csharpLabel

In diesem Beispiel folgt die lokale Variable selectedCustomer der Camel-Case-Konvention, und das Methodenargument customerName ist ebenfalls in Camel Case.

Methoden-Argumente

Die Namen von Methodenargumenten sollten beschreibend sein und der Camel-Case-Benennungsregel folgen. Das verbessert die Lesbarkeit des Codes und hilft Entwicklern zu verstehen, was jedes Argument darstellt.

public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}
public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}
Public Sub AddCustomer(ByVal customerName As String, ByVal dateOpened As DateTime)
	' Add customer logic
End Sub
$vbLabelText   $csharpLabel

Statische Mitglieder und Felder

Statische Mitglieder in Klassen, wie statische Felder, Konstanten und Methoden, folgen ebenfalls spezifischen Benennungskonventionen.

Statische Felder

Für statische Felder ist die Benennungskonvention, Camel Case zu verwenden, jedoch mit einem Unterstrich-Präfix. Dies unterscheidet sie von anderen Feldern.

private static int _totalCustomers;
private static int _totalCustomers;
Private Shared _totalCustomers As Integer
$vbLabelText   $csharpLabel

Konstanten

Konstanten werden typischerweise mit allen Großbuchstaben benannt, wobei Wörter durch Unterstriche getrennt werden, um die Lesbarkeit zu verbessern. Zum Beispiel:

public const int MAX_CUSTOMERS = 100;
public const int MAX_CUSTOMERS = 100;
Public Const MAX_CUSTOMERS As Integer = 100
$vbLabelText   $csharpLabel

Ereignishandler

Die Namen der Ereignisbehandlungsmethoden sollten das von ihnen behandelte Ereignis beschreiben, üblicherweise durch Verwendung des Präfixes On gefolgt vom Ereignisnamen. Die Parameter für Ereignisbehandlungsmethoden umfassen typischerweise das Objekt sender und die Ereignisargumente.

private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}
private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}
Private Sub OnCustomerAdded(ByVal sender As Object, ByVal e As EventArgs)
	' Event handling logic
End Sub
$vbLabelText   $csharpLabel

In diesem Fall heißen die Parameter sender und e. Durch die Einhaltung dieser Benennungskonventionen werden Ihre Ereignishandler konsistent mit den Branchenstandards.

Benennung privater Felder und Objektinitialisierer

Private Felder sollten der Camel Case-Konvention folgen, jedoch mit einem Unterstrich-Präfix. Dies hilft, sie von lokalen Variablen und Methodenargumenten zu unterscheiden.

private string _customerName;
private string _customerName;
Private _customerName As String
$vbLabelText   $csharpLabel

Beim Verwenden von Objektinitialisierern können Sie beim Erstellen einer Instanz einer Klasse direkt Werte zu Eigenschaften zuweisen:

var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};
var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};
Dim seattleCustomer = New Customer With {
	.Balance = 1000,
	.DateOpened = DateTime.Now
}
$vbLabelText   $csharpLabel

In diesem Beispiel sind die Eigenschaftsnamen Balance und DateOpened in Pascal Case geschrieben, wie es für Eigenschaften üblich ist.

Ausnahmebehandlung und Methoden

Bei der Ausnahmebehandlung sollten Methodennamen weiterhin die Pascal Case-Konventionen befolgen. Ausnahmeklassennamen sollten ebenfalls in Pascal Case sein und mit dem Suffix Exception enden. Zum Beispiel:

public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}
public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}
Public Sub ProcessTransaction()
	Try
		' Transaction logic
	Catch ex As InvalidOperationException
		' Handle exception
	End Try
End Sub
$vbLabelText   $csharpLabel

Rückgabetypen und Methodendefinitionen

Stellen Sie immer sicher, dass Ihre Methodendefinitionen aussagekräftige Namen und geeignete Rückgabetypen haben. Der Rückgabetyp sollte aus der Methodensignatur klar hervorgehen. Hier ist ein Beispiel:

public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}
public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}
Public Function CalculateTotalBalance() As Decimal
	Return _totalCustomers * balancePerCustomer
End Function
$vbLabelText   $csharpLabel

In diesem Beispiel ist der Methodenname CalculateTotalBalance beschreibend und folgt der Pascal-Case-Namenskonvention.

Benennungskonventionen für C#-Konstanten

In C# sollten Konstantennamen aus allen Großbuchstaben bestehen, wobei Wörter durch Unterstriche getrennt sind. Dies hilft, Konstanten von anderen Variablen abzuheben. Hier ist ein Beispiel:

public const double PI = 3.14159;
public const double PI = 3.14159;
Public Const PI As Double = 3.14159
$vbLabelText   $csharpLabel

Diese Konvention gilt für verschiedene Typen und stellt sicher, dass Konstantennamen konsistent und leicht erkennbar im Code sind.

C#-Codierungskonventionen für Zeilenumbrüche und geschweifte Klammern

C# hat auch Kodierungskonventionen für Zeilenumbrüche und Klammern. In C# muss jede öffnende geschweifte Klammer { in derselben Zeile stehen wie die Anweisung, zu der sie gehört, und die schließende geschweifte Klammer } muss in einer neuen Zeile stehen, ausgerichtet mit der entsprechenden Anweisung. Hier ist ein Beispiel:

public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}
public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}
Public Sub AddCustomer(ByVal customerName As String)
	If Not String.IsNullOrEmpty(customerName) Then
		_customerName = customerName
	End If
End Sub
$vbLabelText   $csharpLabel

Durch die richtige Formatierung wird der Code leichter lesbar und nachvollziehbar.

Vermeidung der ungarischen Notation

In der modernen C#-Entwicklung wird die ungarische Notation, bei der Variablennamen mit Datentypen (z.B. strName für einen String oder intCount für einen Integer) vorangestellt werden, entmutigt. Verwenden Sie stattdessen aussagekräftige Namen, die den Zweck der Variablen beschreiben, anstatt den Datentyp:

public string CustomerName { get; set; }
public int OrderCount { get; set; }
public string CustomerName { get; set; }
public int OrderCount { get; set; }
Public Property CustomerName() As String
Public Property OrderCount() As Integer
$vbLabelText   $csharpLabel

Dieser Ansatz macht den Code klarer und wartbarer.

Verwendung von IronPDF mit Namenskonventionen

C# Namenskonventionen (So funktioniert es für Entwickler): Abbildung 1 - IronPDF: Die C# PDF-Bibliothek

Wenn Sie IronPDF in Ihre C#-Projekte integrieren, ist es wichtig, einen sauberen, lesbaren Code durch die Einhaltung von Benennungskonventionen aufrechtzuerhalten. IronPDF ermöglicht es Ihnen, PDFs aus HTML-Inhalten innerhalb Ihrer C#-Anwendungen zu generieren. Dabei ist es wichtig, Benennungskonventionen für Ihre Klassen, Methoden und Variablen zu befolgen, um Konsistenz zu gewährleisten. Im Folgenden finden Sie ein Beispiel für eine einfache Implementierung von Benennungskonventionen zur Verbesserung der Lesbarkeit des Codes mit IronPDF, während diese Benennungskonventionen eingehalten werden:

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();
    }
}
Imports IronPdf

Public Class PdfReportGenerator
	Private ReadOnly _htmlContent As String
	Private ReadOnly _filePath As String

	Public Sub New(ByVal htmlContent As String, ByVal filePath As String)
		_htmlContent = htmlContent
		_filePath = filePath
	End Sub

	Public Sub GenerateReport()
		Dim pdfRenderer = New ChromePdfRenderer()
		Dim pdfDocument As PdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent)
		pdfDocument.SaveAs(_filePath)
	End Sub
End Class

Public Module Program
	Public Sub Main()
		Dim htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>"
		Dim filePath = "C:\Reports\MonthlyReport.pdf"
		Dim reportGenerator As New PdfReportGenerator(htmlContent, filePath)
		reportGenerator.GenerateReport()
	End Sub
End Module
$vbLabelText   $csharpLabel

Durch die Einhaltung dieser Benennungskonventionen bleibt Ihr Code professionell, organisiert und leicht lesbar, während Sie IronPDF zur Berichtsgenerierung verwenden.

Abschluss

Indem Sie diesen C#-Benennungskonventionen folgen, stellen Sie sicher, dass Ihr Code sauber, lesbar und leicht wartbar ist. Egal, ob Sie für Klassennamen Pascal Case, für lokale Variablen Camel Case oder für private Felder ein Unterstrich-Präfix verwenden, diese Konventionen tragen dazu bei, einen konsistenten Codebestand zu etablieren.

Mit IronPDF können Sie alle seine Funktionen mit einer kostenlosen Testversion erkunden. Diese Testversion ermöglicht es Ihnen, zu experimentieren und aus erster Hand zu sehen, wie gut es sich in Ihren Workflow integriert. Wenn Sie bereit sind, den nächsten Schritt zu gehen, beginnen die Lizenzen bereits bei $999.

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an