En la práctica, esto significa que diseñamos software de manera que nos permita escribir el código para alguna funcionalidad particular exactamente una vez.
Por ejemplo, si escribe una clase Animal y tiene un método de impresión que imprime su edad y peso, puede derivar una clase Perro de Animal que reutiliza la mayor parte del código de Animal. Luego, el método de impresión del perro solo necesita manejar la información única del perro, ya que puede llamar a Animal :: print () al comienzo del método Dog :: print () (es decir, antes de implementar cualquier información exclusiva del perro, como la raza.
De esta manera, cualquier cambio que realice en la forma en que Animal imprime se transfiere automáticamente a todas las clases que heredan de Animal.
- ¿Qué constituye un sistema de facturación de 'nivel empresarial'?
- ¿Cuáles son los beneficios de usar un equipo de software externo?
- ¿Cuáles son las mejores cosas que Blender puede hacer? ¿La mayoría del software de animaciones no solo lo hará?
- ¿Cuáles son algunas aplicaciones de la teoría de juegos en la ciencia política?
- ¿Por qué tantas personas quieren desarrollar una aplicación y piensan que será fácil monetizarla?
En general, esta metodología nos protege de errores oscuros, donde cambiamos algo en una parte del código pero olvidamos cambiarlo en otros lugares.
Un segundo principio del código reutilizable es la modularidad, es decir, el desacoplamiento de la información y la funcionalidad. Por ejemplo, puede escribir un fragmento de código que realice una integral numérica sobre una malla que creó para su problema. Si estas dos piezas están acopladas (el integrador y su malla), se ve obligado a usarlas siempre juntas, por lo que si necesita integrarse en una malla diferente, tendrá que volver a escribir la mayor parte del integrador. En cambio, podría escribir su integrador original de modo que acepte una malla como entrada en una variedad de formatos, lo transforme en su propio formato interno y luego realice la integración. ¡Ahora tiene un integrador numérico que puede reutilizar con cualquier malla!