Ayuda:Principio de abstracción

De Bestiario del Hypogripho
Icon ordenador 1.png Desarrolladores: Esta página contiene información potencialmente útil para el desarrollo de programas informáticos y/o videojuegos. No se puede garantizar que sea 100% factual o actualizada. El lector discierne bajo su discreción.

En desarrollo de procesos, ingeniería de software y teoría del lenguaje de programación, el principio de abstracción es un axioma básico que tiene como objetivo reducir la duplicación de información en un programa (énfasis en duplicación de código) siempre que sea práctico haciendo uso de la abstracción proporcionada por el lenguaje de programación o las bibliotecas de software. El principio a veces se establece como una recomendación para el programador, pero a veces se establece como un requisito del lenguaje de programación, asumiendo que se comprende por qué es conveniente utilizar abstracciones. Los orígenes del principio son inciertos; se ha reinventado varias veces, a veces con un nombre diferente, con ligeras variaciones.

Cuando se lee como una recomendación al programador, el principio de abstracción se puede generalizar como el principio "no te repitas", que recomienda evitar la duplicación de información en general, y también evitar la duplicación del esfuerzo humano involucrado en el proceso de desarrollo de software.

El principio

Como recomendación al programador, en su formulación por w:Benjamin C. Pierce en el libro w:Types and Programming Languages (2002), el principio de abstracción dice:[1]

Cada parte importante de la funcionalidad de un programa debe implementarse en un solo lugar del código fuente. Cuando funciones similares se llevan a cabo mediante distintos fragmentos de código, generalmente es beneficioso combinarlas en una "abstrayendo" las distintas partes.

Como requisito del lenguaje de programación, en su formulación por David A. Schmidt en The structure of typed programming languages (1994), el principio de abstracción dice:[2]

Las frases de cualquier clase sintáctica semánticamente significativa deberían ser nombradas.

Generalizaciones

"Don't repeat yourself", o el "principio DRY", es una generalización desarrollada en el contexto de arquitectura de múltiples niveles, donde el código relacionado es necesariamente duplicado hasta cierto punto en los niveles, generalmente en diferentes lenguajes. En términos prácticos, la recomendación aquí es confiar en herramientas automatizadas, como generadores de código y transformaciones de datos para evitar la repetición.

Referencias

  1.  (2002). Types and Programming Languages. (MIT Press).
  2. David A. Schmidt, The structure of typed programming languages, MIT Press, 1994, ISBN 0-262-19349-3, p. 32