Saltar al contenido principal

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 classrecord, 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

https://unity.com/resources/c-sharp-style-guide-unity-6