No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Code Smells

6/14
Recursos

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Code smell

Sensación de que algo va mal con el código al percibir algunos indicadores de posibles errores. A veces estos errores pueden ser indicaciones de mala calidad del código, pero, esto que a simple vista se ve como “mal, feo, o raro”, en muchas ocasiones puede ser causante de problemas más profundos de funcionamiento en el código del programa o aplicación, lo que conllevaría una refactorización o incluso una reescritura del código para lograr un código limpio y su mejor funcionamiento.

Algunos ejemplos de code smell:

  • Variables, métodos o clases con nombres poco descriptivos.
  • Métodos y clases de muchísimas líneas que se vuelven difíciles o tediosos de entender. Esto es un indicativo de que las funcionalidades que contienen se pueden separar en pequeñas partes y así poder dividir las responsabilidades en clases y metodos mas pequeños y entendibles.
  • Métodos o funciones que reciben demasiados parámetros, lo que indica que hay mucha lógica dentro de esa función.
  • Utilización de “Números mágicos” o “quemados”, esto se refiere a números fijos que utilizamos dentro de la lógica de nuestro código y que puede causar que a primera vista no se entienda cuál es su función dentro del mismo y se requiera de más tiempo para comprender lo que hacen.

Tipos de code smell:

Para considerar los diferentes code smells, hay que distinguir entre los niveles de abstracción del código:

  1. Code smells de forma general
  2. Code smells a nivel de función
  3. Code smells a nivel de clase
  4. Code smells a nivel de la aplicación

Para complementar la información sobre los tipos de code smell les recomiendo la lectura de este artículo: Code smell explicado de forma sencilla

Code Smell, "Demasiados parametros"
Creo que se puede resolver pasando una clase o dos como parametro algo como esto:

var numerosSumados = new ValoresNumericos
{
  primerValor = 20, 
  segundoValor = 20
}

var opcionesCalculoSuma = new opcionesDeFormato
{
   cantidadDecimales  = 2, 
   tituloSalidaTerminal = "Total de suma 2 parametros",
   tipoDeOperacion = OperacionAritmetica.Suma

}


public double Calculation( VarloresNumericos numerosCalculo, opcionesDeFormato opcionesFormatoCalculo)
.
.
.

creo que hay otras formas mas elegantes de escribir ese codigo, lo importante es que me parece que las funciones con menos de 4 parametros son mas faciles de leer.

¿Que opinan?

Esta clase me hizo recordar a cuando en mi trabajo pasado había un archivo con más de 20k lineas de código