¿Cuándo podemos decir que hemos construido software de calidad?

  • No debe tener errores.
  • Debe ser fácil de mantener y reutilizar en otros sitios.

Para conseguirlo, debemos respetar ciertas normas o principios de programación. Hemos visto el principio transversal de sencillez  “ Fomentad siempre la sencillez y la legibilidad en laescritura de código ” y el de una única vez  “Cada descripción de comportamiento debe aparecer una única vez en nuestro programa ” o dicho de otra forma ” JAMÁS debe repetirse código “ 

Los lenguajes de programación proporcionan mecanismos de encapsulación (encapsulation) de código, para no tener que repetirlo.Las funciones son un mecanismo (pero no el único) de encapsulación. Definimos una única vez la función y la llamamos donde sea necesario,con distintos parámetros actuales. Esto hace que el código sea:

  • Menos propenso a errores.  Después de un copy-paste del código a repetir, si queremos que funcione con otros datos, debemos cambiar una a una todas las apariciones de dichos datos, por lo que podríamos olvidar alguna.
  • Más fácil de mantener. Ante posibles cambios futuros, sólo debemos cambiar el código que hay dentro de la función. El cambio se refleja automáticamente en todos los sitios en los que se realiza una llamada a la función.

Otro principio esencial de programación es el siguiente:

Ocultación de información (Information Hiding)

Al usar un componente software, no deberíamos tener que preocuparnos de sus detalles de implementación.

El ámbito de los datos definidos en las funciones es un mecanismo (pero no el único) para cumplir el principio de ocultación de información. En la llamada a una función, por ejemplo:

hipotenusa = Hipotenusa(lado1, lado2);

sólo nos preocupamos de saber su nombre y cómo se utiliza (los parámetros y el valor devuelto), pero no de saber cómo realiza su tarea.

¿Qué pasaría si los datos locales fuesen accesibles desde otras funciones?

  • Código propenso a errores, ya que podríamos modificar los datos locales por accidente y provocar errores (lo mismo que ocurre con los datos globales)

Accede totalmente GRATIS al videocurso Aprende C++ desde cero >>>Accede al curso GRATIS Ahora<<<<<<<<<

  • Código difícil de mantener, ya que no podríamos cambiar la definición de una función A, suprimiendo, por ejemplo, alguna variable local de A a la que se accediese desde otra función.

A lo largo del blog, se irán introduciendo otros principios. Por ejemplo, una forma más general de una única vez se denomina DRY(Do not Repeat Yourself) y hace alusión a no repetir (además de comportamientos) otros conceptos como por ejemplo restricciones lógicas.

Un saludo,

Javi Pizarro