Y es que el antipatrón programación corta y pega es un mal que aparece a menudo en muchos proyectos. Los problemas que se derivan de este antipatrón son muy numerosos, sobre todo relacionados con la mantenibilidad del código. Cuantas veces se propaga codigo que tiene algún error no detectado, y cuando se hace, es imposible subsanarlo en aquellos sitios donde se ha utilizado el copia-pega.
Básicamente, la programación copy&paste se trata de una violación en toda regla un principio básico en el desarrollo de software, el principio DRY (Don't repeat yourself). Las duplicidades en el código a menudo llevan a inconsistencias y son un indicador claro de que el código no se está refactorizando adecuadamente.
Si bien es cierto que todo desarrollador experimentado sabe que a la larga el copy-paste es dañino, también es cierto que es algo que todos hemos hecho en alguna ocasión y que muchos desarrolladores poco experimentados a menudo abusan del copy-paste. El problema viene de que cuando este abuso se detecta el mal ya esta hecho. Basta un desarrollador poco displicinado o poco experimentado que caiga en este error para que el proyecto sufra los problemas derivados del mismo.
Conscientes de este problema ha nacido Clone Detective for Visual Studio, un addon perfectamente integrado en Visual Studio cuyo cometido es detectar donde se están introduciendo duplicidades en el código, bien por copy-paste o bien por errores de diseño que obligan a introducir código muy similar. De momento solo funciona para C#.
Si queréis ver como funciona antes de instalarlo visitad la sección de videos de la web del proyecto en Codeplex. Una herramienta muy util.Conscientes de este problema ha nacido Clone Detective for Visual Studio, un addon perfectamente integrado en Visual Studio cuyo cometido es detectar donde se están introduciendo duplicidades en el código, bien por copy-paste o bien por errores de diseño que obligan a introducir código muy similar. De momento solo funciona para C#.
Gracias al articulo de Rodrigo Corral por descubrirme la herramienta