Aserciones como postcondiciones

En este caso sí se recomienda el uso de aserciones para la comprobación de las postcondiciones de un método, pues se supone que el método se encuentra bien implementado. En este caso, el uso de postcondiciones permite asegurar que se cumplen en todas las ejecuciones que se hacen del método.

    public void ordenar(int[] datos) {
        // algoritmo de ordenación

        boolean desordenado = false;
        for (int i = 0; i < datos.length – 1; i++) {
            desordenado = desordenado || datos[i] > datos[i + 1];
        }
        assert !desordenado : “Ordenar: array no ordenado”;
    }

El método anterior es un método de ordenación de números enteros. Al finalizar el método debe asegurarse que el array termina con todos sus datos ordenados (ya os explicaré lo que es un array dentro de poco). Como esta comprobación es compleja, se han añadido unas líneas de código que hacen la comprobación. En la aserción se ha utilizado la versión completa, en que si la condición no se cumple, se evalúa la parte que hay tras los dos puntos y con ello se construye el error AsertionError. Cuando el programa termina, aparecerá en pantalla el mensaje que se ha puesto tras los dos puntos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s