"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Constantes en JS y qué tienen que ver Platón y Aristóteles con ello

Constantes en JS y qué tienen que ver Platón y Aristóteles con ello

Publicado el 2024-08-15
Navegar:506

Constants in JS and what do Plato and Aristotle have to do with it

Me parece que los jóvenes ven los componentes del código como cosas materiales, mientras que los mayores se ocupan más de categorías ideales.
¿O tal vez depende de la visión del mundo de cada persona más que de su nivel profesional?

A veces, durante las revisiones de código, me encuentro con códigos en los que, en lugar de la constante CAR_WIDTH, el desarrollador usó la constante TABLE_WIDTH porque fue la primera constante que encontró con un valor adecuado.

Este es un problema común cuando los desarrolladores eligen una constante en función de su valor en lugar de su nombre. Resultó que el desarrollador no comprende el propósito principal de las constantes. En su opinión, las constantes son sólo para reutilización y legibilidad.

Recordemos lo que Platón y Aristóteles dijeron al respecto.

Tenían su propia constante llamada SHIP_OF_THESEUS.
https://en.wikipedia.org/wiki/Ship_of_Theseus
Probablemente recibió un nombre diferente en griego, pero lo escribiremos en latín y, por lo tanto, lo traduciremos al inglés.

const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["mast", "hull", "sail"]
};

La constante SHIP_OF_THESEUS en este ejemplo simboliza la identidad inmutable del Barco de Teseo. Su valor, que cambia con el tiempo, representa los cambios materiales.

// Day 1: Initial state of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["mast", "hull", "sail"]
};

// Day 2: Developer changes one part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["new mast", "hull", "sail"]
};

// Day 3: Developer changes another part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["new mast", "new hull", "sail"]
};

// Day 4: Developer changes structure of the part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: {
        mast: "new mast",
        hull: "new hull",
        sail: "sail"
    }
};

Ideal (Constante):

SHIP_OF_THESEUS: Cada día, esta constante representa la esencia ideal del Barco de Teseo. A pesar de los cambios en su valor, el concepto del barco se mantiene sin cambios.

Material (Valor de la Constante):

partes: La lista de partes del barco que cambia todos los días. Esto refleja la encarnación material del barco, que cambia con el tiempo.

Platón sobre lo ideal y lo material:

La constante SHIP_OF_THESEUS como forma ideal permanece sin cambios: cada día representa la Nave de Teseo. Sin embargo, su valor (las piezas) puede cambiar, reflejando cambios materiales.

Aristóteles sobre la forma y la materia:

Aristóteles diría que la identidad del barco se preserva a través de su forma y función (muy similar a escribir pato en JS, ¿no es así?). En nuestro ejemplo, aunque las partes del barco cambian, la forma del objeto (su estructura y función) permanece sin cambios. Cada día sigue siendo el mismo Barco de Teseo, a pesar de los cambios en sus partes.

¿Cuáles son entonces los beneficios reales de utilizar constantes?

El principal beneficio no es la legibilidad ni la reutilización. El principal beneficio es la separación del código en ideal y material (según Platón) o forma y materia (según Aristóteles) .

Al hacer esta separación, podemos cambiar la materia sin cambiar la forma.
Y podemos utilizar el formulario durante todo el programa sin preocuparnos por la materia.

Declaración de liberación Este artículo se reproduce en: https://dev.to/simprl/constants-in-js-and-what-do-plato-and-aristotle-have-to-do-with-it-2boi?1Si hay alguno infracción, comuníquese con [email protected] para eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3