Sunteți pe pagina 1din 2

CODE SMELLS

Definicin:
Un code smells es un trmino que generalmente corresponde a un problema ms profundo en el sistema. El trmino fue acuado por Kent Beck. La segunda es que los code smells no siempre indican la existencia de un problema. Algunos mtodos son igual de correctos. Tenemos que mirar ms all para ver si hay un problema subyacente, los code smells no son intrnsecamente malos por su cuenta, a menudo son un indicador de un problema ms que sus propios problemas. Aclarando ms: En la programacin de computadoras, el code smells es cualquier sntoma en el cdigo fuente de un programa que posiblemente indica un problema ms profundo. El code smells por lo general no son bugs y actualmente no impiden que el programa deje de funcionar. En lugar de ello, sealan deficiencias en el diseo que se puede ralentizan el desarrollo o aumentando el riesgo de errores o fallos en el futuro. Casos de Uso para mejorar nuestro cdigo: Cdigo duplicado Sin duda el horror de los horrores. Encontrarse una misma funcionalidad en varios sitios. No hay nada ms propenso a dar problema que cdigo duplicado.

Solucin: sacar cdigo duplicado a un mtodo/clase nueva. Cdigo muerto Cuantas veces nos hemos encontrado con cdigo que no se usa? Los desarrolladores a veces pecamos de precavidos y vamos dejando clases y mtodos por si acaso esta funcionalidad vuelve a ser requerida o por si se usa.

Solucin: simplemente, borrar el cdigo. Si hace falta ms adelante, para eso est el sistema de control de versiones. Mtodos largos Hay veces que nos encontramos con mtodos o funciones cuyo fin no vemos a simple vista. Qu hace este cdigo? Si es tan largo, seguro que hace ms de una cosa. Es difcil de leer y de mantener.

Solucin: Buscar las diferentes responsabilidades dentro de dicho cdigo, extraerlas en clases y mtodos. Es preferible tener muchos mtodos pequeos que un mtodo enorme. Clases largas

Estamos en las mismas que el caso anterior. Clases demasiado largas, seguro que tienen responsabilidades que no les corresponden. Igualmente difciles de mantener y de interpretar.

Solucin: Mover los mtodos segn sus responsabilidades a otras clases, crear clases nuevas Lista larga de parmetros de una funcin Segn el libro Clean Code, si una funcin tiene ms de 2 parmetros algo estamos haciendo mal. Una larga lista de parmetros dificulta su uso y comprensin. Si los parmetros son del mismo tipo puede llegar a confundir. El String este primero que era, el usuario o el password?O era el apellido?.

Solucin: En vez de un addCustomer(String name, String surname, String phoneNumber, String.) hacemos un addCustomer(Customer newCustomer) todo queda mucho ms claro. La encapsulacin puede ser til en este tipo de olores. Sentencias Switch Solucin: Usar polimorfismos. En el captulo 1 del libro de Refactoring, Improving The Design Of Existing Code hay un claro ejemplo de esta solucin. Comentarios Demasiados comentarios en cdigo pueden ocultar un olor. Si tienes que explicar demasiado un mtodo o una clase, es que ese cdigo no es claro. Es preferible que el cdigo sea autoexplicativo a que pongas comentarios por cada mtodo que haga uno.

Solucin: Crear cdigo limpio y que se explique solo. Escribir comentarios en lugares donde no ests muy seguro del cdigo o donde quieras recordar algo para futuros cambios.

S-ar putea să vă placă și