Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uso de constantes #3

Open
mbuchwald opened this issue Sep 24, 2024 · 0 comments
Open

Uso de constantes #3

mbuchwald opened this issue Sep 24, 2024 · 0 comments

Comments

@mbuchwald
Copy link
Contributor

Es importante la definición y uso de constantes. Las constantes permiten que valores arbitrarios tengan una explicación sencilla, además de que sean fácilmente modificables.

Por ejemplo, sería importante tener una constante para el tamaño inicial de la pila. Este valor puede ser completamente arbitrario (mayor a 0, e idealmente mayor a 10, por ejemplo). Entonces en caso de querer modificar una constante, simplemente lo modificamos sobre esta, y no buscamos la aparición de cada valor y viendo que en cada caso corresponda el cambio (siendo que dos literales que son iguales, pueden en realidad significar cosas diferentes.. por ejemplo, yo podría definir mi tamaño inicial en 2, y no va a corresponder con la duplicación del tamaño).

El nombre de las constantes debe reflejar lo que significan. Llamar DOBLE a una constante es incorrecto. Hacer esto implica una de dos:

  • La constante no tiene razón de ser (ya que si se llama doble, necesariamente vale 2, y por lo tanto no puede valer otra cosa, así que debe de tener valor semántico por sí solo).
  • La constante tiene un (muy) mal nombre.

Ejemplo del primer caso sería poner CANTIDAD_INICIAL. Este valor no puede valer otra cosa que 0. Y no hay necesidad de explicar ese 0, por lo que no corresponde que haya una constante.
Mientras que para el tamaño inicial, si corresponde, y llamarlo DIEZ no es correcto en absoluto sino, justamente, TAM_INICIAL (o cualquier variante que les guste).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant