"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Constantes en JS et qu'est-ce que Platon et Aristote ont à voir avec ça

Constantes en JS et qu'est-ce que Platon et Aristote ont à voir avec ça

Publié le 2024-08-15
Parcourir:583

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

Il me semble que les juniors considèrent les composants de code comme des choses matérielles, tandis que les seniors traitent davantage de catégories idéales.
Ou peut-être que cela dépend de la vision du monde d'une personne plutôt que de son niveau professionnel ?

Parfois lors des révisions de code, je tombe sur du code dans lequel au lieu de la constante CAR_WIDTH, le développeur a utilisé la constante TABLE_WIDTH car c'était la première constante qu'il a trouvée avec une valeur appropriée.

Il s'agit d'un problème courant lorsque les développeurs choisissent une constante en fonction de sa valeur plutôt que de son nom. Il s'est avéré que le développeur ne comprend pas le but principal des constantes. Selon lui, les constantes servent uniquement à la réutilisation et à la lisibilité.

Rappelons ce qu'en disaient Platon et Aristote.

Ils avaient leur propre constante appelée SHIP_OF_THESEUS.
https://en.wikipedia.org/wiki/Ship_of_ Theseus
Il portait probablement un nom différent en grec, mais nous l'écrirons en latin et le traduirons donc en anglais.

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

La constante SHIP_OF_THESEUS dans cet exemple symbolise l'identité immuable du Navire de Thésée. Sa valeur, qui évolue dans le temps, représente les changements importants.

// 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"
    }
};

Idéal (constant) :

SHIP_OF_THESEUS : Chaque jour, cette constante représente l'essence idéale du Navire de Thésée. Malgré les changements de valeur, le concept du navire reste inchangé.

Matériau (Valeur de la constante) :

parts : La liste des pièces du navire qui change chaque jour. Cela reflète l'incarnation matérielle du navire, qui évolue au fil du temps.

Platon sur l'Idéal et le Matériel :

La constante SHIP_OF_THESEUS en tant que forme idéale reste inchangée : elle représente chaque jour le Navire de Thésée. Cependant, sa valeur (les pièces) peut changer, reflétant des changements matériels.

Aristote sur la forme et la matière :

Aristote dirait que l'identité du navire est préservée à travers sa forme et fonction (très similaire à la saisie de canard en JS, n'est-ce pas ?). Dans notre exemple, bien que les parties du navire changent, la forme de l'objet (sa structure et sa fonction) reste inchangée. Chaque jour, c'est toujours le même Navire de Thésée, malgré les changements dans ses parties.

Alors, quels sont les avantages réels de l’utilisation de constantes ?

Le principal avantage n'est pas la lisibilité et la réutilisabilité. Le principal avantage est la séparation du code en idéal et matériel (selon Platon) ou forme et matière (selon Aristote) .

En faisant cette séparation, on peut changer la matière sans changer la forme.
Et nous pouvons utiliser le formulaire tout au long du programme sans nous soucier de la matière.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/simprl/constants-in-js-and-what-do-plato-and-aristotle-have-to-do-with-it-2boi?1S'il y en a infraction, veuillez contacter [email protected] pour supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3