Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Determinación de errores con FindBugs



    Arrancamos el
    producto

    Identificación del
    error

    Corrección

    Conclusiones

    A la hora de desarrollar aplicaciones Java es
    interesante disponer de un conjunto de herramientas
    para ayudarnos a no cometer equivocaciones
    básicas.

    He probado la herramienta FindBugs y me he quedado
    impresionado por su sencillez y aparente potencia.

    Vamos a ver, sobre uno de los
    códigos de uno de nuestros recientes tutoriales
    ,
    cómo nos puede ayudar a anticipar errores.

    Descarga

    Podemos ir al Web del producto y
    conseguir el zip con los binarios http://findbugs.sourceforge.net/

    Arrancamos el producto

    Una vez descomprimido, solo tenemos que arrancar el
    fichero por lotes (en entorno Windows)

    Configuramos el proyecto

    Pulsado el botón, encontramos el resumen y lo
    dice todo:

    Vemos la porción de código
    que se ve afectada

    Identificación del error

    La descripción del error es bastante buena,
    incluida la proposición del arreglo. Básicamente
    nos esta comentando que tenemos un bloque de código que,
    en caso de producirse una excepción dejaría un
    Stream abierto y nos propone que incluyamos un bloque finally,
    para evitarlo.

    Vemos el detalle del código afectado:

    // esta función recupera el texto de la página

    String
    recuperaContenido(HttpURLConnection
    enlace)

    {

    try

    {

    String respuesta = "";

    BufferedReader in = new BufferedReader (new
    InputStreamReader(enlace.getInputStream()));

    String cadena = "";

    while (cadena != null)

    {

    cadena = in.readLine();

    if (cadena != null)

    {

    respuesta+=("n" + cadena);

    }

    }

    return respuesta;

    }

    catch(Exception e)

    {

    return "Error " + e.getMessage() +
    "n";

    }

    }

    Corrección

    Podemos codificar el cambio
    propuesto y comprobar que se soluciona el problema…

    // esta función recupera el texto de la
    página

    String
    recuperaContenido(HttpURLConnection
    enlace)

    {

    BufferedReader in = null;

    try

    {

    String respuesta = "";

    in = new BufferedReader (new
    InputStreamReader(enlace.getInputStream()));

    String cadena = "";

    while (cadena != null)

    {

    cadena = in.readLine();

    if (cadena != null)

    {

    respuesta+=("n" + cadena);

    }

    }

    return respuesta;

    }

    catch(Exception e)

    {

    return "Error " + e.getMessage() +
    "n";

    }

    finally

    {

    if(in != null)

    {

    try { in.close(); } catch (Exception
    ignorada) {}

    }

    }

    }

    Conclusiones

    Los jefes de proyecto tenemos
    habitualmente un problema crítico y consiste en que las
    posibles variables que
    nos pueden dar juego, las
    tenemos ya definidas:

    • Duración: Ya se ha negociado la fecha
      limite
    • Alcance: Se han negociado los
      requisitos
    • Coste: El presupuesto
      esta acotado
    • Calidad: La calidad la
      define la metodología (en el mejor de los
      casos)

    Entonces, bajo esta coyuntura, solo podemos jugar con la
    productividad:

    • Sistematización: Disponer de plantillas
      y procedimientos
      que nos guíen en los procesos
      (valoración rápida, análisis, diseño, construcción, etc.)
    • Reutilización: No reinventar la rueda y
      reaprovechar lo ya construido.
    • Automatización: Capacidad de evitar
      labores mecánicas (pruebas,
      documentación, compilación,
      empaquetamiento, etc.)
    • Anticipación de errores:
      Utilización de herramientas que nos ayuden a analizar
      nuestro código sin ejecutar las pruebas

    Esta herramienta, FindBugs, puede ayudarnos parcialmente
    a mejorar nuestro trabajo aunque
    debemos combinarla con otras y buenas prácticas y
    plantillas.

    El día a día probablemente nos impida
    elevarnos al problema y optimizar nuestra productividad. Es
    posible que necesitemos gente no contaminada de nuestra realidad
    para ayudarnos a mejorar….. Para eso es posible que me
    podáis contratar ….

    Roberto Canales Mora

    www.adictosaltrabajo.com

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter