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();
}
$vbLabelText   $csharpLabel

Beachten Sie, wie der Klassenname Customer und der Schnittstellenname ICustomer beide Pascal Case folgen. Das I-Präfix macht deutlich, dass der ICustomer-Typ eine Schnittstelle ist.

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;
}
$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; }
$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);
}
$vbLabelText   $csharpLabel

In diesem Beispiel folgt die lokale Variable selectedCustomer der Camel-Case-Konvention, und das Methodenargument customerName ist ebenfalls im 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
}
$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;
$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;
$vbLabelText   $csharpLabel

Ereignishandler

Ereignishandlermethodennamen sollten das Ereignis beschreiben, das sie verarbeiten, in der Regel durch Verwendung des Präfixes On, gefolgt vom Ereignisnamen. Die Parameter für Ereignishandlermethoden beinhalten 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
}
$vbLabelText   $csharpLabel

In diesem Fall sind die Parameter als sender und e benannt. 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;
$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
};
$vbLabelText   $csharpLabel

In diesem Beispiel sind die Eigenschaftsnamen Balance und DateOpened in Pascal Case, entsprechend der Konvention für Eigenschaften.

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
    }
}
$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;
}
$vbLabelText   $csharpLabel

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

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;
$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# sollte jede öffnende Klammer { in derselben Zeile stehen wie die Anweisung, zu der sie gehört, und die schließende Klammer } sollte sich in einer neuen Zeile befinden, die mit der entsprechenden Anweisung ausgerichtet ist. 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;
    }
}
$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; }
$vbLabelText   $csharpLabel

Dieser Ansatz macht den Code klarer und wartbarer.

Verwendung von IronPDF mit Namenskonventionen

C# Namenskonventionen (Wie es für Entwickler funktioniert): 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();
    }
}
$vbLabelText   $csharpLabel

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

Abschluss

C# Namenskonventionen (Wie es für Entwickler funktioniert): Abbildung 2 - IronPDF Lizenzseite

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 machen, beginnen die Lizenzen bereits bei $799.

Häufig gestellte Fragen

Was sind die allgemeinen Namenskonventionen für Klassen und Schnittstellen in C#?

In C# sollten Klassen und Schnittstellen in Pascal Case benannt werden, wobei jedes Wort mit einem Großbuchstaben beginnt. Schnittstellen sollten ebenfalls ein 'I'-Präfix enthalten, wie zum Beispiel 'ICustomer'.

Wie kann ich sicherstellen, dass Methodennamen in C# den bewährten Praktiken entsprechen?

Methodennamen in C# sollten der Pascal Case-Konvention folgen, wobei jedes Wort mit einem Großbuchstaben beginnt. Diese Konvention gilt für alle Methoden, einschließlich der Einstiegspunktmethode Main.

Wie sollte man lokale Variablen in C# benennen?

Lokale Variablen und Methodenargumente in C# sollten in Camel Case benannt werden, was bedeutet, dass das erste Wort klein geschrieben wird und jedes folgende Wort mit einem Großbuchstaben beginnt.

Wie sollten statische Felder in C# benannt werden?

Statische Felder in C# sollten in Camel Case mit einem Unterstrich-Präfix benannt werden, um sie von anderen Feldern zu unterscheiden.

Was ist die Namenskonvention für Konstanten in C#?

Konstanten in C# sollten unter Verwendung von Großbuchstaben benannt werden, wobei die Wörter durch Unterstriche getrennt sind, um sie leicht erkennbar zu machen.

Wie kann ich eine Bibliothek nutzen und gleichzeitig C#-Namenskonventionen einhalten?

Bei der Verwendung von Bibliotheken in C#, wie IronPDF, sollten Sie durch die Befolgung der Namenskonventionen sauberen, lesbaren Code beibehalten. Dazu gehört die Verwendung von Pascal Case für Klassen und Methoden sowie Camel Case für Variablen. Sie können beispielsweise PDFs von HTML mit IronPDF generieren und dabei konsistente Namenspraktiken einhalten.

Warum wird die ungarische Notation in C# nicht empfohlen?

Die ungarische Notation wird in der modernen C#-Entwicklung nicht empfohlen, da sie den Code weniger lesbar machen kann. Verwenden Sie stattdessen sinnvolle Namen, die den Zweck der Variablen beschreiben und sich an etablierte Namenskonventionen halten.

Wie sollten Ereignis-Handler-Methoden in C# benannt werden?

Ereignis-Handler-Methoden in C# sollten so benannt werden, dass sie das bearbeitete Ereignis beschreiben, typischerweise mit dem Präfix 'On', gefolgt vom Ereignisnamen. Dies hilft, den Zweck der Methode zu verdeutlichen.

Welche Namenskonventionen sollten für private Felder in C# befolgt werden?

Private Felder in C# sollten in Camel Case mit einem Unterstrich-Präfix benannt werden. Dies hilft, sie von lokalen Variablen und Methodenargumenten zu unterscheiden.

Welchen Nutzen bringen Namenskonventionen für C#-Entwickler?

Namenskonventionen verbessern die Lesbarkeit und Wartbarkeit des Codes, was es Entwicklern erleichtert, den Code zu verstehen und damit zu arbeiten. Konsistente Benennung in C#-Projekten, einschließlich derer, die Bibliotheken wie IronPDF verwenden, sorgt für eine professionelle und saubere Codebasis.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen