Programación de copiar y pegarLa programación de copiar y pegar, a veces denominada simplemente pegar, es la producción de un código de programación de computadora altamente repetitivo, producido por las operaciones de copiar y pegar. Es principalmente un término peyorativo; aquellos que usan el término a menudo implican una falta de competencia de programación. También puede ser el resultado de limitaciones tecnológicas (por ejemplo, un entorno de desarrollo insuficientemente expresivo) ya que normalmente se utilizarían subrutinas o bibliotecas. Sin embargo, hay ocasiones en que la programación de copiar y pegar se considera aceptable o necesaria, como el desenroscado de bucles (Cuando no es soportado automáticamente por el compilador), o ciertos modismos de programación, y algunos editores de código de la fuente en forma de snippets. OrigenCopiar y pegar a menudo es realizado por programadores inexpertos o estudiantes, que encuentran el acto de escribir código desde cero difícil o irritante y prefieren buscar una solución preescrita o una solución parcial que puedan usar como base para resolver sus propios problemas.[1] Un problema mayor es que bugs pueden ser fácilmente introducido por suposiciones y decisiones de diseño hechos en las distintas fuentes que no aplican cuando son usadas en otro ambiente de desarrollo. Copiar y pegar en la programación también puede ser el resultado de una mala comprensión de las características comunes en los lenguajes de computadora, tales como estructuras de bucle, funciones y subrutinas. Elección deliberada como patrón diseñoLa programación de copiar y pegar se acepta ocasionalmente como una técnica de programación válida. Esto se ve más comúnmente en "boilerplate", como declaraciones de clase o importación de bibliotecas estándar, o al usar una plantilla de código existente (con contenido vacío o funciones de código auxiliar) como marco para completar. EjemploUn ejemplo sencillo es un bucle for el cual podría ser expresado como El código de muestra que utiliza tal bucle for podría ser: void foo(int n) {
for (int i=0; i!=n; ++i) {
/* body */
}
}
El bucle podría haber sido generado por el siguiente snippet (especificando tipos y nombres variables): for ($type $loop_var = 0; $loop_var != $stop; ++$loop_var) {
/* body */
}
Véase tambiénReferencias
|