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 鈥渕al, 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 鈥淣煤meros m谩gicos鈥 o 鈥渜uemados鈥, 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