Buscar
Social
Ofertas laborales ES
jueves
oct042007

Crap4j: ¿es tu código basura?

Alberto Savoia y Bob Evans de Agitar Labs. han liberado la primera versión de su librería para pruebas que implementa su métrica C.R.A.P (Change Risk Analysis and Prediction). El objetivo de esta métrica es determinar si el código es una basura o no (de hecho crap tiene un significado un poco más fuerte), como te puedes dar cuenta, el que un código sea crap o no es algo muy subjetivo por lo que los autores se basaron en la experiencia para determinar una fórmula para medir el nivel de crap.

La fórmula tiene como base el que por lo general la gente piensa que un código es malo si es innecesariamente complicado e intrincado. También revisa si se han escrito pruebas unitarias para el código a analizar, si no hay pruebas es porque es demasiado complejo para probar o por dejadez del programador lo que incrementa la dificultad para entender el código; en pocas palabras, la falta de pruebas unitarias incrementa el nivel de crap. Al final, la fórmula utilizada es:

CRAP(m) = comp(m)^2 * (1 – cov(m)/100)^3 + comp(m)

Donde comp(m) es el nivel de complejidad ciclomática de un método y cov(m) es la cobertura que tiene el método en pruebas unitarias.
Para poder usar la métrica, han desarrollado un plugin para eclipse que puede ser descargado desde las actualizaciones automáticas del IDE en la URL http://www.junitfactory.com/crap4j/update/.
miércoles
oct032007

Spring Tool Suite

Interface21 junto con Tasktop Technologies (creadores del proyecto Eclipse Mylyn) anuncian su futura creación: Spring Tool Suite.

Esta herramienta orientada a Spring y desarrollada sobre Eclipse y Mylyn, reducirá considerablemente la complejidad del desarrollo y mantenimiento de las aplicaciones Java empresariales. Proporcionará a los desarrolladores una manera más simple y automática de gestionar cientos de artefactos y docenas de herramientas necesarias para el desarrollo Java empresarial.

Spring Tool también ofrecerá:

  • soporte para las ultimas características de Spring 2.0, incluyendo las configuraciones basadas en namespaces;
  • soporte para Spring Web Flow;
  • herramientas para el desarrollo basado en Spring AOP;
  • soporte para Spring Java Configuration.

La fecha esperada de su lanzamiento es en marzo del 2008.

Parece que Eclipse gana cada vez más terreno en el desarrollo de aplicaciones basadas en Spring Framework (Spring IDE es un ejemplo). Rod Johnson por su parte, ya dejó claro sus tendencias hacia este IDE en alguna de sus últimas charlas.

Con que IDE desarrollais vuestras aplicaciones en Spring?

martes
oct022007

Ext 2.0 alpha: nueva versión de esta librería javascript

La nueva versión de esta librería incluye varias características que la hacen única, como el uso de scrolling tabs y árboles cuyos nodos pueden contener columnas. El equipo de Ext, provee de un centro de documentación con información acerca del uso de los widgets del framework, una página de ejemplos e incluso un portal de ejemplo construido con la librería para demostrar el uso de los layouts y paneles para organizar tus portales.

El anuncio de la publicación lo puedes encontrar aquí y el framework lo descargas en este otro enlace.

 

martes
oct022007

Java Avanzado

Por Completar
martes
oct022007

Java Básico

Esta sección está dedicada a los fundamentos del Lenguaje Java. Cubrimos desde la sintáxis básica, pasando por la implementación de los conceptos de Orientación a Objetos vistos anteriormente, las Estructuras de Datos hasta el despliegue de aplicaciones Java.

Controlando bien esta sección, tienes la base para poder acometer cualquier tipo de programa J2SE teniedo siempre a mano un libro o tutorial (sobre el tema que vayas a implementar) y el API de las clases a utilizar.

La sección está dividida en 11 capítulos:

  1. Introducción a Java
    Resumen de la historia y características principales del lenguaje de programación Java.
    Información adicional: Tutorial: Java básico con ejemplos (Primer capítulo)
  2. El entorno de desarrollo
    Introducción al SDK de Java y a Eclipse IDE.
    Prácticas: Práctica 1 y Práctica 2
    Información adicional: Tutorial: Java básico con ejemplos (Segundo capítulo y Apéndice B)
  3. La sintáxis
    Repaso de las distintas keywords, identificadores, operadores, tipos y sentencias de Java.
    Prácticas:Práctica 4
    Información adicional: Tutorial: Java básico con ejemplos (Segundo capítulo y Apéndice B)
  4. Clases y Objetos
    Definición, inicialización y trabajo con las clases y los objetos en Java.
    Pácticas:Práctica 5
    Información adicional: Tutorial: Java básico con ejemplos (Quinto capítulo), Tutorial: Orientación a Objetos, Tutorial: Orientación a Objetos II
  5. Herencia
    Estudio de la Jerarquía de Clases y lo que ello implica; así como otros conceptos tales como super, this, sobrecarga, sobrescritura...
    Prácticas:Práctica 6
    Información adicional: Tutorial: Java básico con ejemplos (Quinto capítulo), Tutorial: Orientación a Objetos, Tutorial: Orientación a Objetos II
  6. Polimorfismo
    Como se implementa este paradigma de la Orientación a Objetos en Java mediante la herencia, clases abstractas, interfaces y castings..
    super, this, sobrecarga, sobrescritura...
    Prácticas: Práctica 7
    Información adicional: Tutorial: Java básico con ejemplos (Quinto capítulo), Tutorial: Orientación a Objetos, Tutorial: Orientación a Objetos II
  7. Otros conceptos I
    Conceptos varios como los paquetes, los modificadores de acceso, static y final.
    Prácticas:
    Información adicional: Tutorial: Java básico con ejemplos (Quinto capítulo), Tutorial: Orientación a Objetos, Tutorial: Orientación a Objetos II
  8. Otros conceptos II
    Conceptos varios como el paso de parámetros, cosas por defecto del compilador, wrappers de tipos primitivos, y algunas clasee habituales.
    Prácticas:
  9. Estructuras de Datos I
    Distintas estructuras de datos existentes en Java: arrays.
    Prácticas:
  10. Estructuras de Datos II
    Distintas estructuras de datos existentes en Java: lists, sets y maps.
    Prácticas:
    Información adicional:
    Tutorial: Collections, Artículo: Collections,Tutorial: Introducción al API Collections
  11. Despliegue de aplicaciones
    Como se pueden desplegar las aplicaciones Java.
    Prácticas: