Buenas Prácticas y Clean Code
Convenciones de Estandarización
Seguir convenciones de codificación ayuda a mantener un código limpio,
legible y fácil de mantener.
En C#, se recomienda seguir las guías establecidas por Microsoft.
Nombres de Clases
- Usar PascalCase.
- Deben ser sustantivos que representen entidades o conceptos.
public class UsuarioManager { }
public class Pedido { }
Nombres de Métodos
- Usar PascalCase.
- Deben ser verbos o frases verbales.
public void CalcularTotal() { }
public async Task ObtenerDatosAsync() { }
Nombres de Propiedades
- Usar PascalCase.
- Representan características de un objeto.
public string Nombre { get; set; }
public int Edad { get; set; }
Nombres de Variables Locales y Parámetros
- Usar camelCase.
- Ser descriptivas y claras.
string nombreUsuario = "Carlos";
int cantidadPedidos = 5;
Nombres de Campos Privados
- Usar camelCase con guion bajo
_como prefijo.
private int _contador;
private string _mensaje;
Nombres de Interfaces
- Usar PascalCase con prefijo
I.
public interface IRepository { }
public interface IService { }
Nombres de Constantes
- Usar PascalCase o SCREAMING_CASE según la convención del equipo.
public const double Pi = 3.1416;
public const int MAX_INTENTOS = 5;
Nombres de Enumeraciones
- Usar PascalCase para la enumeración y sus valores.
public enum EstadoPedido
{
Pendiente,
Procesado,
Completado,
Cancelado
}
Aplicación de Estándares de Código Limpio y Legible
- Métodos cortos y con una sola responsabilidad (SRP - Principio de Responsabilidad Única).
- Evitar duplicación de código (DRY - Don't Repeat Yourself).
- Mantener cohesión en clases (alta cohesión, bajo acoplamiento).
- Usar comentarios solo cuando el código no sea autoexplicativo.
- Preferir expresividad en nombres sobre comentarios innecesarios.
- Aplicar principios SOLID.
- Mantener consistencia en el estilo del proyecto.
Ejemplo de mal código:
public void H(int x, int y)
{
var z = x + y;
Console.WriteLine(z);
}
Ejemplo de buen código:
public void ImprimirSuma(int numero1, int numero2)
{
int resultado = numero1 + numero2;
Console.WriteLine(resultado);
}
🔹 Proyecto Práctico para Aplicar Convenciones
Descripción
Crear una aplicación de consola en C# que gestione usuarios y pedidos aplicando las convenciones de Clean Code.
Requerimientos
- Definir clases
UsuarioyPedidocon propiedades claras y bien nombradas. - Implementar una interfaz
IRepositorio<T>con métodosAgregar,Eliminar,ObtenerTodos. - Aplicar principios de estandarización en nombres de clases, métodos y variables.
- Crear un flujo principal que permita registrar usuarios y pedidos de manera clara y legible.
Ejemplo Base
public class Usuario
{
public int Id { get; set; }
public string Nombre { get; set; }
}
public class Pedido
{
public int Id { get; set; }
public string Producto { get; set; }
public int Cantidad { get; set; }
}
public interface IRepositorio<T>
{
void Agregar(T entidad);
void Eliminar(int id);
IEnumerable<T> ObtenerTodos();
}