Saltar al pie de página
.NET AYUDA

Convenciones de Nomenclatura C# (Cómo Funciona para Desarrolladores)

Convenciones de nomenclatura son un conjunto de reglas y pautas que los desarrolladores siguen para nombrar variables, métodos, clases y otras entidades de manera consistente. Una nomenclatura consistente no solo mejora la legibilidad del código, sino que también ayuda a otros desarrolladores a entender y mantener tu código. A continuación, revisaremos las convenciones de nomenclatura de C# paso a paso, enfocándonos en el uso práctico y ejemplos. Vamos a sumergirnos directamente en las convenciones de nomenclatura y la biblioteca de IronPDF más adelante en el artículo.

Convenciones de nomenclatura

Clases e interfaces

Los nombres de las clases deben seguir la convención de nomenclatura Pascal Case. Esto significa que cada palabra en el nombre comienza con una letra mayúscula, sin guiones bajos ni espacios. Los nombres de las interfaces también deben seguir el Pascal Case, pero comenzar con el prefijo I. Por ejemplo:

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

Observa cómo el nombre de la clase Customer y el nombre de la interfaz ICustomer siguen ambos el Pascal Case. El prefijo I deja claro que el tipo ICustomer es una interfaz.

Métodos

Los nombres de los métodos también usan Pascal Case. Cada nombre de método debe comenzar con una letra mayúscula, y cada palabra subsiguiente también debe comenzar con una letra mayúscula. Aquí hay un ejemplo de definiciones de métodos:

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

Para el método punto de entrada, static void Main(), la convención es la misma: usar Pascal Case para el nombre del método.

Propiedades

Como los nombres de métodos, las propiedades también usan Pascal Case. Las propiedades deben nombrarse de manera que describan claramente lo que representan:

public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
$vbLabelText   $csharpLabel

Variables locales y argumentos de métodos

Las variables locales y los argumentos de métodos deben utilizar camel case. Esto significa que la primera palabra está en minúsculas y las palabras subsiguientes comienzan con una letra mayúscula, sin espacios ni guiones bajos. Esto es diferente de Pascal Case en que la primera letra no está capitalizada.

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

En este ejemplo, la variable local selectedCustomer sigue la convención camel case, y el argumento del método customerName también está en camel case.

Argumentos de los métodos

Los nombres de los argumentos de método deben ser descriptivos y seguir la convención de nomenclatura camel case. Esto mejora la legibilidad del código y ayuda a los desarrolladores a entender qué representa cada argumento.

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

Miembros estáticos y campos

Los miembros estáticos en clases, como campos estáticos, constantes y métodos, también siguen convenciones de nomenclatura específicas.

Campos estáticos

Para campos estáticos, la convención de nomenclatura es usar camel case pero con un prefijo de guión bajo. Esto los diferencia de otros campos.

private static int _totalCustomers;
private static int _totalCustomers;
$vbLabelText   $csharpLabel

Constantes

Las constantes se nombran típicamente usando todas letras mayúsculas, con palabras separadas por guiones bajos para mejorar la legibilidad. Por ejemplo:

public const int MAX_CUSTOMERS = 100;
public const int MAX_CUSTOMERS = 100;
$vbLabelText   $csharpLabel

Controladores de eventos

Los nombres de métodos de manejadores de eventos deben describir el evento que manejan, generalmente usando el prefijo On seguido del nombre del evento. Los parámetros para los métodos manejadores de eventos típicamente incluyen el objeto sender y los argumentos del evento.

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

En este caso, los parámetros se nombran sender y e. Seguir esta convención de nomenclatura hace que tus manejadores de eventos sean consistentes con los estándares de la industria.

Nombramiento de campos privados e inicializadores de objetos

Los campos privados deben seguir la convención camel case pero con un prefijo de guión bajo. Esto ayuda a distinguirlos de las variables locales y argumentos de métodos.

private string _customerName;
private string _customerName;
$vbLabelText   $csharpLabel

Al usar inicializadores de objetos, puedes asignar valores directamente a las propiedades al crear una instancia de una clase:

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

En este ejemplo, los nombres de las propiedades Balance y DateOpened están en Pascal Case, siguiendo la convención para propiedades.

Manejo de excepciones y métodos

Al manejar excepciones, los nombres de métodos deben seguir aún las convenciones Pascal Case. Los nombres de las clases de excepciones también deben estar en Pascal Case y terminar con el sufijo Exception. Por ejemplo:

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

Tipos de retorno y definiciones de métodos

Siempre asegúrate de que tus definiciones de métodos tengan nombres significativos y tipos de retorno apropiados. El tipo de retorno debe ser claro a partir de la firma del método. Aquí hay un ejemplo:

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

En este ejemplo, el nombre del método CalculateTotalBalance es descriptivo y sigue la convención de nomenclatura Pascal Case.

Convenciones para nombrar las constantes de C

En C#, los nombres de constantes deben ser letras mayúsculas, con palabras separadas por guiones bajos. Esto hace que las constantes se destaquen de otras variables. Aquí hay un ejemplo:

public const double PI = 3.14159;
public const double PI = 3.14159;
$vbLabelText   $csharpLabel

Esta convención se aplica a través de diferentes tipos, asegurando que los nombres de constantes sean consistentes y fáciles de reconocer en el código.

Convenciones de codificación de C# para saltos de línea y llaves

C# también tiene convenciones de codificación para saltos de línea y llaves. En C#, cada llave de apertura { debe estar en la misma línea que la declaración a la que pertenece, y la llave de cierre } debe estar en una nueva línea, alineada con la declaración correspondiente. Aquí hay un ejemplo:

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

Usar el formato adecuado hace que el código sea más fácil de leer y seguir.

Evitar la notación húngara

En el desarrollo moderno de C#, la Notación Húngara, donde los nombres de las variables tienen prefijos con tipos de datos (por ejemplo, strName para una cadena o intCount para un entero), no se recomienda. En su lugar, usa nombres significativos que describan el propósito de la variable en lugar de su tipo de datos:

public string CustomerName { get; set; }
public int OrderCount { get; set; }
public string CustomerName { get; set; }
public int OrderCount { get; set; }
$vbLabelText   $csharpLabel

Este enfoque hace que el código sea más claro y fácil de mantener.

Uso de IronPDF con convenciones de nomenclatura

Convenciones de Nomenclatura de C# (Cómo Funciona Para Desarrolladores): Figura 1 - IronPDF: La Biblioteca PDF para C#

Al integrar IronPDF en tus proyectos de C#, es esencial mantener un código limpio y legible siguiendo las convenciones de nomenclatura. IronPDF te permite generar PDFs a partir de contenido HTML dentro de tus aplicaciones C#. Al hacerlo, es importante seguir las convenciones de nomenclatura para tus clases, métodos y variables para mantener la consistencia. A continuación, un ejemplo de una implementación simple de las convenciones de nomenclatura para mejorar la legibilidad del código usando IronPDF mientras se adhieren a estas convenciones de nomenclatura:

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

Siguiendo estas convenciones de nomenclatura, tu código se mantiene profesional, organizado y fácil de leer mientras usas IronPDF para generar reportes.

Conclusión

Convenciones de Nomenclatura de C# (Cómo Funciona Para Desarrolladores): Figura 2 - Página de licenciamiento de IronPDF

Siguiendo estas convenciones de nomenclatura de C#, puedes asegurarte de que tu código esté limpio, legible y sea fácil de mantener. Ya sea usando Pascal Case para los nombres de clase, camel case para variables locales, o usando un prefijo de guión bajo para campos privados, estas convenciones ayudan a establecer una base de código consistente.

Con IronPDF, puedes sumergirte y explorar todas sus capacidades con una prueba gratuita. Esta prueba te permite experimentar y ver de primera mano cómo se integra bien en tu flujo de trabajo. Cuando estés listo para dar el siguiente paso, las licencias comienzan en solo $799.

Preguntas Frecuentes

¿Cuáles son las convenciones generales de nomenclatura para clases e interfaces en C#?

En C#, las clases e interfaces deben ser nombradas usando Pascal Case, donde cada palabra comienza con una letra mayúscula. Las interfaces también deben incluir un prefijo 'I', como 'ICustomer'.

¿Cómo asegurar que los nombres de métodos en C# sigan las mejores prácticas?

Los nombres de los métodos en C# deben seguir la convención Pascal Case, comenzando cada palabra con una letra mayúscula. Esta convención se aplica a todos los métodos, incluido el método de entrada Main.

¿Cuál es la forma recomendada de nombrar las variables locales en C#?

Las variables locales y los argumentos de método en C# deben ser nombrados usando camel case, lo que significa que la primera palabra está en minúsculas y cada palabra subsiguiente comienza con una letra mayúscula.

¿Cómo deben nombrarse los campos estáticos en C#?

Los campos estáticos en C# deben ser nombrados usando camel case con un prefijo de guion bajo para diferenciarlos de otros campos.

¿Cuál es la convención de nomenclatura para las constantes en C#?

Las constantes en C# deben ser nombradas usando todas las letras en mayúscula, con las palabras separadas por guiones bajos, para hacerlas fácilmente distinguibles.

¿Cómo puedo usar una biblioteca mientras adhiero a las convenciones de nomenclatura de C#?

Al usar bibliotecas en C#, como IronPDF, mantén un código limpio y legible siguiendo las convenciones de nomenclatura. Esto incluye usar Pascal Case para clases y métodos y camel case para variables. Por ejemplo, puedes generar PDFs desde HTML usando IronPDF mientras mantienes prácticas de nomenclatura consistentes.

¿Por qué la Notación Húngara no se recomienda en C#?

La Notación Húngara no se recomienda en el desarrollo moderno de C# porque puede hacer que el código sea menos legible. En su lugar, usa nombres significativos que describan el propósito de las variables y adhieren a las convenciones de nomenclatura establecidas.

¿Cómo deberían nombrarse los métodos manejadores de eventos en C#?

Los métodos manejadores de eventos en C# deben ser nombrados para describir el evento que manejan, típicamente usando el prefijo 'On' seguido del nombre del evento. Esto ayuda a clarificar el propósito del método.

¿Qué convenciones de nomenclatura deben seguirse para los campos privados en C#?

Los campos privados en C# deben ser nombrados usando camel case con un prefijo de guion bajo. Esto ayuda a diferenciarlos de las variables locales y los argumentos de método.

¿Cómo ayudan las convenciones de nomenclatura a los desarrolladores de C#?

Las convenciones de nomenclatura mejoran la legibilidad y mantenibilidad del código, haciendo más fácil para los desarrolladores entender y trabajar con el código. La nomenclatura consistente en proyectos de C#, incluidos aquellos que usan bibliotecas como IronPDF, asegura una base de código profesional y limpia.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más