13.6. Generalización

De algún modo, convertir de base 60 a base 10 y de vuelta es mas difícil que simplemente manejarse con las horas. La conversión de base es mas abstracta; nuestra intuición para tratar con las horas es mejor.

Pero si tenemos la comprensión para tratar las horas como números en base 60, y hacer la inversión de escribir las funciones de conversión (convierteASegundos y haceHora), obtenemos un programa que es mas corto, mas fácil de leer y
depurar y mas fiable.

También es mas fácil añadir funcionalidades mas tarde. Por ejemplo, imagine restar dos Horas para hallar el intervalo entre ellas. La aproximación ingenua sería implementar la resta con acarreo. Con el uso de las funciones de conversión será mas fácil y con mayor probabilidad, correcto.

Irónicamente, a veces hacer un problema mas complejo (o mas general) lo hace mas fácil (porque hay menos casos especiales y menos oportunidades de error).

0