Heim  >  Artikel  >  Web-Frontend  >  Konstanten in JS und was haben Platon und Aristoteles damit zu tun?

Konstanten in JS und was haben Platon und Aristoteles damit zu tun?

WBOY
WBOYOriginal
2024-08-09 08:21:22653Durchsuche

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

Mir scheint, dass Junioren Codekomponenten als materielle Dinge betrachten, während Senioren sich mehr mit idealen Kategorien befassen.
Oder hängt es vielleicht eher von der Weltanschauung einer Person als von ihrem beruflichen Niveau ab?

Manchmal stoße ich bei Codeüberprüfungen auf Code, bei dem der Entwickler anstelle der Konstante CAR_WIDTH die Konstante TABLE_WIDTH verwendet hat, weil es die erste Konstante war, die er mit einem geeigneten Wert gefunden hat.

Dies ist ein häufiges Problem, wenn Entwickler eine Konstante anhand ihres Werts und nicht anhand ihres Namens auswählen. Es stellte sich heraus, dass der Entwickler den Hauptzweck von Konstanten nicht versteht. Seiner Ansicht nach dienen Konstanten nur der Wiederverwendung und Lesbarkeit.

Erinnern wir uns daran, was Platon und Aristoteles dazu zu sagen hatten.

Sie hatten ihre eigene Konstante namens SHIP_OF_THESEUS.
https://en.wikipedia.org/wiki/Ship_of_Theseus
Im Griechischen wurde es wahrscheinlich anders benannt, aber wir schreiben es auf Latein und übersetzen es daher ins Englische.

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

Die Konstante SHIP_OF_THESEUS symbolisiert in diesem Beispiel die unveränderliche Identität des Schiffes des Theseus. Sein Wert, der sich im Laufe der Zeit ändert, stellt die materiellen Veränderungen dar.

// 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 (konstant):

SHIP_OF_THESEUS: Diese Konstante repräsentiert jeden Tag die ideale Essenz des Schiffes des Theseus. Trotz Wertänderungen bleibt das Konzept des Schiffes unverändert.

Material (Wert der Konstante):

Teile: Die Liste der Teile des Schiffes, die sich täglich ändert. Dies spiegelt die materielle Verkörperung des Schiffes wider, die sich im Laufe der Zeit verändert.

Platon über Ideal und Material:

Die Konstante SHIP_OF_THESEUS als Idealform bleibt unverändert: Sie repräsentiert jeden Tag das Schiff des Theseus. Allerdings kann sich sein Wert (die Teile) ändern, was Materialänderungen widerspiegelt.

Aristoteles über Form und Materie:

Aristoteles würde sagen, dass die Identität des Schiffes durch seine Form und Funktion gewahrt bleibt (sehr ähnlich zum Duck-Typing in JS, nicht wahr?). In unserem Beispiel ändern sich zwar die Teile des Schiffes, die Form des Objekts (seine Struktur und Funktion) bleibt jedoch unverändert. Jeden Tag ist es immer noch das gleiche Schiff des Theseus, trotz Veränderungen in seinen Teilen.

Was sind also die eigentlichen Vorteile der Verwendung von Konstanten?

Der Hauptvorteil ist nicht die Lesbarkeit und Wiederverwendbarkeit. Der Hauptvorteil ist die Trennung des Codes in Ideal und Material (nach Platon) bzw. Form und Materie (nach Aristoteles). .

Durch diese Trennung können wir die Sache ändern, ohne die Form zu ändern.
Und wir können das Formular während des gesamten Programms verwenden, ohne uns um die Materie kümmern zu müssen.

Das obige ist der detaillierte Inhalt vonKonstanten in JS und was haben Platon und Aristoteles damit zu tun?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn