stringtranslate.com

Programación ofensiva

La programación ofensiva es un nombre utilizado para la rama de la programación defensiva que se aparta expresamente de los principios defensivos cuando se trata de errores resultantes de errores de software . Aunque el nombre es una reacción a las interpretaciones extremas de la programación defensiva, los dos no están fundamentalmente en conflicto. Más bien, la programación ofensiva agrega una prioridad explícita de no tolerar errores en lugares equivocados: el punto en el que se aparta de las interpretaciones extremas de la programación defensiva es en preferir que la presencia de errores dentro de la línea de defensa del programa sea descaradamente obvia sobre el beneficio de seguridad hipotético de tolerarlos. [1] [2] Esta preferencia es también lo que justifica el uso de aserciones .

Distinguir errores

La premisa de la programación ofensiva es distinguir entre errores esperables, que provienen de fuera de la línea de defensa del programa, por improbables que sean, y errores internos prevenibles que no ocurrirán si todos sus componentes de software se comportan como se espera.

Ejemplos contrastantes:

Estrategias de detección de errores

La programación ofensiva se centra en los errores, es decir, en refutar las suposiciones del programador. Generar un mensaje de error puede ser un objetivo secundario.

Estrategias:

Véase también

Referencias

  1. ^ "Programación ofensiva". Cunningham & Cunningham, Inc. Consultado el 4 de septiembre de 2016 .
  2. ^ Broadwall, Johannes (25 de septiembre de 2013). "Programación ofensiva". Thinking Inside a Bigger Box . Consultado el 4 de septiembre de 2016 .