nerdschoolbergen / code-smells

Somewhere along the way code goes from good to bad. It's usually a combination of many small factors that when allowed to take hold in your project, makes it hard to work with and downright frustrating. Your code starts to smell... bad...
25 stars 58 forks source link

Code Smells Encontrados #2

Open DarinkaTownsend opened 3 years ago

DarinkaTownsend commented 3 years ago

En el código dentro de este repositorio pude visualizar que hay un code smell denominado switch statement dentro de la clase Pub, esto se da ya que existe muchas estructuras de control en una misma clase, se recomienda aplicar la técnica de refactorización Extract Method y luego move Method para que su código mejore.

DarinkaTownsend commented 3 years ago

Se puede encontrar el code smell comments debido a que dentro de la clase Pub existen comentarios para explicar alguno de los métodos, esto se puede solucionar utilizando la técnica de refactorización Rename Method, lo que permitirá que el código sea más entendible sin necesidad de ni un comentario.

DarinkaTownsend commented 3 years ago

La clase PubPricesTest es una clase demasiada larga por lo que podemos extraer la subclase student lo que permitiría que la clase PubPricesTest no trate de realizar muchas funciones, haciendo que el programa sea más dinámico.

DarinkaTownsend commented 3 years ago

Te recomiendo extraer la clase más grande, en este caso PubPricesTest se puede hallar la dependencia entre clases, dejando a la clase student realizar sus propias funciones.Esto se logra utilizando el refactoring Extract SuperClass.

djsabando commented 3 years ago

Al aplicar la técnica de refactorización nombrada, tendremos un programa que utiliza menos recursos para resolver el problema, crearemos un nuevo método que pueda ser accedido con diferentes argumentos, de esta manera podrá ser usado para ambas funciones que poseían nuestros antiguos métodos.

DarinkaTownsend commented 3 years ago

El code smell encontrado es Primmitive Obssesion, esto se debe a que se utilizan demasiadas constantes dentro del segundo repositorio. Aconsejo remplazarlos por un solo objeto