Maison >interface Web >js tutoriel >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

WBOY
WBOYoriginal
2024-08-09 08:21:22721parcourir

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 revues de code, je tombe sur du code où 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 trouvait 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 a probablement été nommé différemment en grec, mais nous l'écrirons en latin et donc le traduirons 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 avec le temps, représente les changements matériels.

// 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 de la Nef de Thésée. Malgré l'évolution de sa valeur, le concept du navire reste inchangé.

Matériau (Valeur de la constante) :

pièces : La liste des pièces du navire qui change chaque jour. Cela reflète l'incarnation matérielle du navire, qui évolue avec le 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 la Nef 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 sa fonction (très similaire au typage 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 on peut utiliser le formulaire tout au long du programme sans se soucier de la matière.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn