3. Refinamiento o Refactoring
Cambias estructuras de código, sintaxis o
arquitectura para mejorar en:
• Rendimiento
• Lectura
• Tamaño o líneas de código
• Mantenibilidad
• Eliminar deuda técnica
• Seguridad
4. Buenas prácticas
Se refiere a los estándares que ya existen dentro del
código para garantizar:
• Rendimiento
• Lectura
• Tamaño o líneas de código
• Mantenibilidad
• Eliminar deuda técnica
• Seguridad
10. Tip #2 - Reduce código
Mantén el código legible pero reducido y apoyate en LINQ
Antes:
if (active == true)
{
return CurrentActiveUsers;
}
Después:
if (active) return CurrentActiveUsers;
11. Tip #2 - Reduce código
Mantén el código legible pero reducido y apoyate en LINQ
Antes:
foreach (var item in Users)
{
if(item.Name == UserName) return true;
}
Después:
return Users.Any(item => item.Name == UserName);
12. Cuando algo huele mal o no luce
bien, revisalo 2 veces o pide una
opinión
14. Tip #3 - Utiliza las mejoras de C#
C# 6, 7, 8, 9 tiene muchas mejoras que te ayudan a reducir el código y usar una
mejor sintaxis
Antes:
string = “El resultado es ” + result;
Después:
string = $”El resultado es {result}”;
15. Tip #3 - Utiliza las mejoras de C#
Antes:
if (CurrentDate != null)
{
if(CurrentDate.Year > 2020) return true;
}
Después:
if(CurrentDate?.Year > 2020) return true;
16. Tip #4 - Evita muchos parámetros
Antes:
public void CreateNewUser(string name, string
lastname, int Id, string phone)
Después:
public void CreateNewUser(User newUser)
17. Tip #5 - Clases con una sola
responsabilidad
Antes:
public void SendEmailToListOfClients(string[] clients)
{
foreach (var client in clients)
{
var clientRecord = db.Find(client);
if (clientRecord.IsActive())
{
Email(client);
}
}
}
18. Tip #5 - Clases con una sola
responsabilidad
Después:
public void SendEmailToListOfClients(string[] clients)
{
var activeClients = Clients.GetActiveClients(clients);
Email(client);
}
public List<Client> GetActiveClients(string[] clients)
{
return db.Find(clients).Where(s => s.Status == "Active");
}
19. Tip #6 - Encapsular Condiciones
Antes:
if (article.state == "published")
{
// ...
}
Después:
if (article.IsPublished())
{
// ...
}
20. Principio KISS
Keep it simple Stupid
Mantenlo simple siempre
Fácil de entender,
fácil de mantener
22. Tip #7 - Comentarios
^((w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*)s*[;]{0,1}s*)+$
Las expresiones regulares son un buen ejemplo para
comentar el código y explicar para que se usa
24. Mitos que no son buenas práticas
• Reducir el código al mínimo
• Comentar todo
• Utilizar regions para ordenar
• Utiliza nomenclatura húngara
• Manejar patrones de diseño en toda la
arquitectura
25. ¿Cómo conseguir un mejor
código?
• CodeReview
• Definir estándares
• Estudiar la sintaxis del lenguaje
• Se cuidadoso con los nombramientos y ortografía
• Escribir código en inglés
• Apoyarse de los IDEs