¿Qué es el código repetitivo?

384

Un compañero de trabajo nunca había oído hablar de esto, y no podía proporcionar una definición real. Para mí, siempre ha sido una instancia de 'lo sé cuando lo veo'.

Pregunta extra, ¿quién originó el término?

Nate Parsons
fuente
68
Como nota, el término repetitivo no es exclusivo de la programación. Por ejemplo, un abogado puede darle un contrato de 5 páginas para firmar, pero la mayor parte del contrato es repetitivo. Lo que significa que es lo mismo para todos los que obtienen ese contrato, con solo unas pocas líneas cambiadas aquí y allá.
mellowsoon el
26
No conozco a nadie más, pero en mi compañía el código repetitivo es el código que opera la repetitiva: abrir, cerrar, lavar, reemplazar, etc ...
ulty4life
1
Esta pregunta parece estar fuera de tema porque se trata de jerga.
Adriano Repetti
44
Vine aquí debido a la documentación de Laravel y pensé ... "¿De qué están hablando estas cosas repetitivas?". Después de leer algunas respuestas, pensé que esta página wiki directamente relacionada también muestra información sobre el asunto: en.wikipedia.org/wiki/Boilerplate_code
Ben Fransen
1
Escuché el término recientemente, así que tengo curiosidad por saber si puedo llamarlos como complemento o módulo para los lenguajes de programación.
Anjil Panchal

Respuestas:

215

El "código repetitivo" es cualquier código aparentemente repetitivo que aparece una y otra vez para obtener un resultado que parece ser mucho más simple.

Es una definición subjetiva.

El término proviene de "repetitivo" en la industria periodística: wiki

Adam Vandenberg
fuente
2
La idea detrás de multiproperties en OOP es reducir repetitivo, por lo que cuando se aplica correctamente, se puede reducir un poco.
Andrew Sledge
También se dice que proviene de la industria del acero, donde se utilizan placas de acero en calderas
Mohammed Shareef C
55

Sobre la etimología, el término repetitivo : de http://www.takeourword.com/Issue009.html ...

Curiosamente, el término surgió del negocio de los periódicos. Las columnas y otras piezas que se sindicaron se enviaron a los periódicos suscriptores en forma de tapete (es decir, una matriz). Una vez recibido, se vertió plomo hirviendo en este tapete para crear la placa utilizada para imprimir la pieza, de ahí el nombre de repetitivo. Como el artículo impreso en una plantilla no podía modificarse, los abogados utilizaron el término para referirse a las partes de un contrato que no cambió a través de usos repetidos en diferentes aplicaciones, y finalmente al lenguaje en general que no cambió en cualquier documento que se usó repetidamente para diferentes ocasiones.

¿Qué constituye el repetitivo en la programación? Como muchos otros han señalado, es solo una porción de código que se copia una y otra vez con pocos o ningún cambio realizado en el proceso.

NealB
fuente
Hay una explicación alternativa mentalfloss.com/article/26087/why-it-boilerplate-text para la cual he visto más referencias.
fgysin reinstala a Monica el
1
¡Maldición! esto parece una respuesta para un intercambio de gramática ... en realidad tal vez toda esta pregunta, pero puedo ver por qué lo necesitamos aquí ...
#
55

El código repetitivo significa un fragmento de código que se puede usar una y otra vez. Por otro lado, cualquiera puede decir que es un código reutilizable.

El término en realidad proviene de las industrias del acero.

Para un poco de historia , según Wikipedia :

En la década de 1890, la placa repetitiva en realidad estaba fundida o estampada en metal lista para la imprenta y distribuida a los periódicos de todo Estados Unidos. Hasta la década de 1950, miles de periódicos recibieron y utilizaron este tipo de repeticiones del mayor proveedor de la nación, Western Newspaper Union. Algunas compañías también enviaron comunicados de prensa como repeticiones para que tuvieran que imprimirse tal como estaban escritos.

Ahora según Wikipedia :

En los programas orientados a objetos, las clases suelen contar con métodos para obtener y establecer variables de instancia. Las definiciones de estos métodos pueden considerarse frecuentemente como repetitivas. Aunque el código variará de una clase a otra, tiene una estructura lo suficientemente estereotipada que se generaría mejor automáticamente que si se escribiera a mano. Por ejemplo, en la siguiente clase de Java que representa una mascota, casi todo el código es repetitivo, excepto las declaraciones de Mascota, nombre y propietario:

public class Pet {
    private PetName name;
    private Person owner;

    public Pet(PetName name, Person owner) {
        this.name = name;
        this.owner = owner;
    }

    public PetName getName() {
        return name;
    }

    public void setName(PetName name) {
        this.name = name;
    }

    public Person getOwner() {
        return owner;
    }

    public void setOwner(Person owner) {
        this.owner = owner;
    }
}
en la terminación
fuente
38

Es un código que puede ser utilizado por muchas aplicaciones / contextos con poco o ningún cambio.

Boilerplate se deriva de la industria del acero a principios de 1900.

Gabe
fuente
34

De Wikipedia :

En programación de computadoras, repetitivo es el término utilizado para describir secciones de código que deben incluirse en muchos lugares con poca o ninguna alteración. Se usa con más frecuencia cuando se hace referencia a lenguajes que se consideran detallados, es decir, el programador debe escribir mucho código para realizar trabajos mínimos.

Entonces, básicamente, puede considerar el código repetitivo como un texto que un lenguaje de programación necesita con mucha frecuencia en todos los programas que escribe en ese lenguaje.

Los lenguajes modernos están tratando de reducirlo, pero también el lenguaje anterior que tiene verificadores de tipos específicos (por ejemplo, OCaml tiene un inferidor de tipos que le permite evitar tantas declaraciones que serían código repetitivo en un lenguaje más detallado como Java)

Jack
fuente
24

Boilerplate es lo que los buenos programadores evitan: la repetición.

James
fuente
36
Dios mío, tienes "ti" dos veces en tu respuesta! Como puede ver, la repetición no siempre es mala.
Tamás Sengel
3
¿Cómo lo evito public static void main(String[] _)?
Koray Tugay
15

Boilerplate en el desarrollo de software puede significar cosas diferentes para diferentes personas, pero generalmente significa el bloque de código que se usa una y otra vez.

En el MEDIO desarrollo de la pila , este término se refiere a la generación de código mediante el uso de la plantilla. Es más fácil que codificar manualmente toda la aplicación desde cero y le da consistencia al bloque de código y menos errores, ya que es código limpio, probado y probado y es de código abierto, por lo que se actualiza o repara constantemente, por lo que ahorra mucho tiempo al usar Marco o generador de código. Para obtener más información sobre MEAN stack, haga clic aquí .

Nermien Barakat
fuente
7

En términos prácticos, el código repetitivo es lo que corta y pega en todo el lugar. A menudo serán cosas como un encabezado de módulo, más algunas declaraciones estándar / requeridas (cada módulo debe declarar un registrador, cada módulo debe declarar variables para su nombre y revisión, etc.) En mi proyecto actual, estamos escribiendo manejadores de mensajes y todos tienen la misma estructura (leer un mensaje, validarlo, procesarlo) y para eliminar las dependencias entre los controladores, no queríamos que todos heredaran de una clase base, por lo que se nos ocurrió un esqueleto repetitivo. Declaraba todas las variables de rutina, los métodos estándar, el marco de manejo de excepciones: todo lo que un desarrollador tenía que hacer era agregar el código específico al mensaje que se estaba manejando. Hubiera sido rápido y fácil de usar,

TMN
fuente
7

La definición estándar se está volviendo más global en muchos otros lenguajes de programación hoy en día. Proviene de OOP y lenguajes híbridos que se han convertido en OOP y que antes tenían procedimientos, ahora tienen el mismo objetivo de seguir repitiendo el código que construye con un modelo / plantilla / clase / objeto, por lo tanto, por qué adaptan este término. Usted crea una plantilla y lo único que hace para cada instancia de una plantilla son los parámetros para individualizar un objeto; esta parte es lo que llamamos repetitivo. Simplemente reutilice el código del que creó una plantilla, solo con diferentes parámetros.

Sinónimos
un plano es una
plantilla repetitiva una plantilla es una plantilla repetitiva
un pie de página es una plantilla repetitiva
un patrón de diseño para uso múltiple es una placa repetitiva la
firma de un correo es una plantilla repetitiva

Thielicious
fuente
2

Desde whatis.techtarget.com :

En tecnología de la información, una repetitiva es una unidad de escritura que puede reutilizarse una y otra vez sin cambios. Por extensión, la idea a veces se aplica a la programación reutilizable como en "código repetitivo". El término deriva de la fabricación de acero, donde la placa de caldera es acero laminado en placas grandes para su uso en calderas de vapor. La implicación es que la escritura repetitiva ha sido probada en el tiempo y fuerte como "acero", o posiblemente que se ha convertido en algo lo suficientemente fuerte para su reutilización repetida.

Más allá de la programación:

Una repetitiva se puede comparar con un cierto tipo de plantilla, que se puede considerar como una repetitiva de relleno de espacios en blanco. Algunas repeticiones típicas incluyen: declaraciones de misión, advertencias de seguridad, procedimientos de instalación de uso común, declaraciones de derechos de autor y exenciones de responsabilidad.

En mi experiencia como programador, el tipo apropiado de código repetitivo suele ser un montón de código con el que comienzas que no es lo suficientemente grande y / o lo suficientemente complicado como para llamarse marco.

Un ejemplo típico sería el HTML5 Boilerplate .

John Slegers
fuente
1

Puede referirse a él como "fragmentos" o, más exactamente, "colección de fragmentos". Creo que el término fue acuñado por la industria de la imprenta y la imprenta, donde utilizaron "planchas" reales y luego las reutilizaron nuevamente como trozos. términos elegantes para cosas simples para lucir más modernas y sofisticadas. ver RESPONSABLE = adaptable / fluido.

Obmerk Kronen
fuente
"Fragmentos" no transmiten el mismo significado; "repetitivo" tiende a connotar fragmentos más grandes que deben modificarse para ajustarse, en lugar de un par de líneas de código copiar / pegar / olvidar. Un ejemplo podría ser el código para la WinMainfunción en una aplicación Win32; registra la clase de ventana de la aplicación, crea la ventana principal, ejecuta el bucle de eventos y devuelve el código de salida del procedimiento de ventana. Esa funcionalidad a menudo no cambia mucho entre aplicaciones, y se puede reutilizar con relativamente pocas modificaciones, pero no es tan rutinaria que tenga mucho sentido como una biblioteca (o un fragmento, para el caso).
cHao
0

Una repetitiva es una unidad de escritura que se puede reutilizar una y otra vez sin cambios. Por extensión, la idea a veces se aplica a la programación reutilizable, como en "código repetitivo

kumar viril
fuente