C# Convenciones de nomenclatura (Naming conventions)
Las convenciones en código sirven para los siguientes propósitos:
- Crean un aspecto coherente en el código, de modo que los lectores pueden centrarse en el contenido, no en el diseño.
- Permiten a los lectores comprender el código más rápidamente al hacer suposiciones basadas en experiencias previas.
- Facilitan copiar, cambiar, y mantener el código.
- Demuestran las mejores prácticas de C#.
Pascal Case
Usa Pascal case ("PascalCasing") cuando nombres una class, record, o struct.
public class DataService
{
}
public record PhysicalAddress(
string Street,
string City,
string StateOrProvince,
string ZipCode);
public struct ValueCoordinate
{
}
Cuando nombres una interface, usa Pascal case y agrega al nombre el prefijo I. Esto indica claramente a los lectores que es una interface.
public interface IWorkerQueue
{
}
Cuando nombres miembros de tipo public, tales como fields, properties, events, methods, y local functions.
public class ExampleEvents
{
public bool IsValid;
public IWorkerQueue WorkerQueue { get; init; }
public event Action EventProcessing;
public void StartEventProcessing()
{
// Local function
static int CountQueueItems() => WorkerQueue.Count;
// ...
}
}
Camel case
Usa Camel case ("camelCasing") cuando nombres campos private o internal, y agrega el prefijo _.
public class DataService
{
private IWorkerQueue _workerQueue;
}
Cuando trabajas con campos static que son private o internal, usa el prefijo s_ y para thread statics usa t_.
public class DataService
{
private static IWorkerQueue s_workerQueue;
[ThreadStatic]
private static TimeSpan t_timeSpan;
}
Cuando escribas parámetros en métodos:
public T SomeMethod<T>(int someNumber, bool isValid)
{
}
Referencias:
https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions