Cómo utilizar constantes en tu código de aplicación y por qué son importantes

Trabajar en una aplicación web puede tener sus desafíos, especialmente cuando descubres que el nombre del producto ya está registrado por otra empresa. En mi experiencia, tuve que realizar cambios masivos en el código, desde referencias hasta imágenes y logotipos. Este episodio me enseñó una valiosa lección que quiero compartir contigo: el uso de constantes puede facilitar enormemente tu vida como programador.

Índice de Contenido
  1. ¿Qué son las constantes?
  2. Beneficios de utilizar constantes
  3. Utilizando recursos en .NET
  4. Más funcionalidad

¿Qué son las constantes?

Antes de continuar, es importante entender qué son las constantes en programación. Una constante es un valor fijo que se utiliza en el código de una aplicación y no cambia durante su ejecución. Estos valores pueden ser números enteros, booleanos o cadenas de texto. Las buenas prácticas de programación nos indican que, en lugar de utilizar valores literales en nuestro código, debemos definir constantes con nombres semánticos y utilizar esos nombres en su lugar. Esto hace que nuestro código sea más legible y, si alguna vez necesitamos cambiar el valor de la constante, solo tenemos que hacerlo en un lugar y se actualizará en todos los lugares donde se utiliza.

Beneficios de utilizar constantes

Utilizar constantes en lugar de valores literales tiene varios beneficios:

  • Facilita la lectura del código, ya que los nombres semánticos son más descriptivos que los valores literales.
  • Permite cambios rápidos y fáciles en el valor de la constante, ya que solo tenemos que modificarlo en un lugar y se actualizará en todo el código.
  • Fomenta buenas prácticas de programación y organización del código.

Veamos un ejemplo para entender mejor cómo funcionan las constantes. Considera las siguientes dos líneas de código:

bool hayAsientosDisponibles = (invitados < 150);
bool hayAsientosDisponibles = (invitados < CapacidadMaxima);

En el primer caso, si alguien lee ese código, no queda claro qué significado tiene el valor literal "150". En cambio, en el segundo caso, el nombre semántico "CapacidadMaxima" nos indica claramente qué representa ese valor. Además, si en algún momento necesitamos cambiar la capacidad máxima, solo tenemos que modificarlo en un lugar.

Utilizando recursos en .NET

Afortunadamente, en .NET podemos utilizar archivos de recursos para almacenar todas las constantes que necesitamos. Estos archivos, con extensión *.resx, pueden contener cualquier tipo de contenido imaginable. Una herramienta de edición de recursos muy útil es "Resourcer" de Lutz Roeder, y Visual Studio .NET también incluye soporte integrado para editar recursos en archivos *.resx.

Prophecy: La empresa australiana de desarrollo de software que se adapta al mundo globalizado

Para utilizar los recursos en nuestras aplicaciones, debemos crear una clase interna que implemente el patrón de diseño singleton y acceda a los recursos del ensamblado. De esta manera, podemos agregar nuevos recursos a medida que desarrollamos la aplicación y tenerlos todos en un solo lugar en caso de que necesitemos modificarlos. El Listado A muestra un esbozo de cómo sería esta clase.

La clase en el Listado A implementa el patrón de diseño singleton, lo que significa que solo existirá una instancia de la clase durante toda la ejecución del programa. La instancia de esta clase también hace referencia a un objeto ResourceManager a través del cual accederemos a los recursos del ensamblado.

En el constructor de la clase (private AsmRes()), cargamos los recursos *.resx que tienen el mismo nombre que esta clase y que se encuentran en el ensamblado. Si tu archivo *.resx tiene un nombre diferente, deberás ajustar esta parte del código.

El método GetSingleton se llamará desde los métodos estáticos que agreguemos a esta clase. El objetivo de GetSingleton es obtener una referencia a la instancia singleton almacenada en el campo instance.

Ahora estamos listos para comenzar a agregar la funcionalidad necesaria para recuperar los recursos de texto y numéricos del archivo *.resx. El Listado B contiene cuatro métodos estáticos que se utilizan para obtener recursos de texto. Las firmas de métodos que incluyen CultureInfo se pueden utilizar para internacionalizar la aplicación en el futuro. Ten en cuenta que en nuestro archivo de recursos, podemos utilizar cadenas con formato como "Hola, {0}" y recuperar la cadena correcta utilizando uno de los métodos que tiene una lista de argumentos variables (params).

A modo de ejemplo, aquí tienes cómo utilizar los métodos GetString. Podemos agregar una constante a nuestra clase AsmRes y luego usarla en el código de cliente, como se muestra en el fragmento del Listado C.

Diferencias entre las especificaciones funcionales y los documentos de diseño

Para recursos numéricos y otros tipos que necesitan ser localizables y no deben estar codificados en el programa, podemos definir métodos similares. El Listado D contiene dos métodos estáticos que ilustran cómo recuperar valores int desde nuestro archivo *.resx.

Más funcionalidad

Puedes agregar más métodos para manejar cada uno de los tipos de datos almacenados en tu archivo *.resx. Ten en cuenta que, para evitar el boxing y unboxing de tipos de valor como int, puedes definir constantes int en esta clase para mejorar el rendimiento, siempre y cuando los valores no cambien durante la localización.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo utilizar constantes en tu código de aplicación y por qué son importantes , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.