jueves, 20 de octubre de 2011

Festival del Humor (IV)

Hola, os dejo una muestra de código que nos llega desde el otro lado del charco :

public class CertificadoConSaldo implements Serializable {

 private static final long serialVersionUID = 1L;

 private transient CertificadoIVR certificadoIVR ;

 private Cuenta[] cuentas;

 /**
  * Constructor default
  */
 public CertificadoConSaldo() {

 }

 /**
  * Implementa un adapatador que convierte un CertificadoConSaldoIvrCEVO en
  * un certificadoConSaldo para mostrar en el XML
  */
 public CertificadoConSaldo(CertificadoConSaldoIvrCEVO vo) {
  certificadoConSaldoIvrCEVO = vo;
 }

 public Cuenta[] getCuentas() {

  if (certificadoIVR.getCuentas() != null) {

   List listaCuentas = certificadoIVR.getCuentas();
   cuentas = new Cuenta[listaCuentas.size()];

   int index = 0;
   for (Iterator iterator = listaCuentas.iterator(); iterator
     .hasNext();) {

    CuentaIvrVO cuentaIvrVO = (CuentaIvrVO) iterator.next();
    cuentas[index++] = new Cuenta(cuentaIvrVO);
   }
  }

  return cuentas;
 }

 public void setCuentas(Cuenta[] cuentas) {
  this.cuentas = cuentas;
 }

}


Lo peor es que cuanto más lo leo más errores encuentro. ¿En cuántas lineas dejaríais la clase? ¿Qué errores le veis?

Por cierto, todas nuestras entradas de festival del humor son genuinas y auténticas.

5 comentarios:

  1. Es hipnótico, no sé por qué, pero no puedo dejar de mirarlo y mirarlo.
    Es difícil saber por donde empezar.

    ResponderEliminar
  2. Es el toArray más malévolo e ineficiente de la historia.

    ResponderEliminar
  3. Hay más cosas a parte del toArray() ... xD

    ResponderEliminar
  4. Yo lo que veo es que el getCuentas absolutamente nunca te va a devolver lo que le metas con el set.

    Es un extracto ¿no?

    ResponderEliminar
  5. Es un extracto pero créeme que mantengo todo el espíritu de la clase. Tenía dos propiedades más exactamente iguales : el get() tiraba de un método para obtener los resultados mientras que el set() escribía una propiedad que nadie leía.

    Mantuve el más grave de los métodos :D

    ResponderEliminar