„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Konstanten in JS und was haben Platon und Aristoteles damit zu tun?

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

Veröffentlicht am 15.08.2024
Durchsuche:448

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 passenden 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 ideale Form bleibt unverändert: Sie repräsentiert jeden Tag das Schiff des Theseus. Allerdings kann sich sein Wert (die Teile) ändern, was auf materielle Änderungen zurückzuführen ist.

Aristoteles über Form und Materie:

Aristoteles würde sagen, dass die Identität des Schiffes durch seine Form und Funktion bewahrt wird (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. Es ist jeden Tag 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) oder 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 im gesamten Programm verwenden, ohne uns um die Materie kümmern zu müssen.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/simprl/constants-in-js-and-what-do-plato-and-aristotle-have-to-do-with-it-2boi?1Falls vorhanden Verstoß, wenden Sie sich zum Löschen bitte an [email protected]
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3