Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2017, 08:41
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Como podría Refactorizar para que sea mas legible

Como podría refactorizar para que sea mas legible

Código Java:
Ver original
  1. package fecha;
  2.  
  3. public class Fecha {
  4.  
  5.     private int dia;
  6.     private int mes;
  7.     private int anio;
  8.  
  9.     public Fecha(int dia, int mes, int anio) {
  10.  
  11.         this.dia = dia;
  12.         this.mes = mes;
  13.         this.anio = anio;
  14.  
  15.     }
  16.  
  17.     public boolean valida() {
  18.  
  19.         if (dia < 1 || dia > 31)
  20.  
  21.             return false;
  22.  
  23.         if (mes < 1 || mes > 12)
  24.  
  25.             return false;
  26.  
  27.         // determinamos la cantidad de días del mes:
  28.  
  29.         int diasMes = 0;
  30.  
  31.         switch (mes) {
  32.  
  33.         case 1:
  34.  
  35.         case 3:
  36.  
  37.         case 5:
  38.  
  39.         case 7:
  40.  
  41.         case 8:
  42.  
  43.         case 10:
  44.  
  45.         case 12:
  46.             diasMes = 31;
  47.             break;
  48.  
  49.         case 4:
  50.  
  51.         case 6:
  52.  
  53.         case 9:
  54.  
  55.         case 11:
  56.             diasMes = 30;
  57.             break;
  58.  
  59.         case 2: // verificación de año bisiesto
  60.  
  61.             if ((anio % 400 == 0) ||
  62.  
  63.                     ((anio % 4 == 0) && (anio % 100 != 0)))
  64.  
  65.                 diasMes = 29;
  66.  
  67.             else
  68.                 diasMes = 28;
  69.  
  70.             break;
  71.  
  72.         }
  73.  
  74.         if (dia > diasMes)
  75.  
  76.             return false;
  77.  
  78.         else
  79.             return true;
  80.  
  81.     }
  82.  
  83.    
  84.  
  85. }