ホームページ  >  記事  >  ウェブフロントエンド  >  JS の定数とプラトンとアリストテレスはそれと何の関係があるのか

JS の定数とプラトンとアリストテレスはそれと何の関係があるのか

WBOY
WBOYオリジナル
2024-08-09 08:21:22653ブラウズ

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

後輩はコードコンポーネントを物質的なものとして見ているのに対し、先輩は理想的なカテゴリーをより扱っているように思えます。
それとも、専門的なレベルではなく、その人の世界観に依存するのでしょうか?

コード レビュー中に、開発者が定数 CAR_WIDTH の代わりに定数 TABLE_WIDTH を使用しているコードに遭遇することがあります。これは、開発者が適切な値を持つ最初に見つけた定数だったためです。

これは、開発者が名前ではなく値に基づいて定数を選択する場合によくある問題です。開発者は定数の主な目的を理解していないことが判明しました。彼の見解では、定数は再利用と読みやすさだけを目的としています。

これについてプラトンとアリストテレスが何を言ったかを思い出してみましょう。

彼らには SHIP_OF_THESEUS という独自の定数がありました。
https://en.wikipedia.org/wiki/Ship_of_Theseus
おそらくギリシャ語では別の名前が付けられていると思いますが、ラテン語で表記するので英語に翻訳します。

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

この例の定数 SHIP_OF_THESEUS は、テセウスの船の不変のアイデンティティを象徴しています。時間の経過とともに変化するその値は、物質の変化を表します。

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

理想(一定):

SHIP_OF_THESEUS: 毎日、この定数はテセウスの船の理想的な本質を表します。価値は変化しても、船のコンセプトは変わりません。

材料 (定数の値):

パーツ: 毎日変更される船のパーツのリスト。これは、時間の経過とともに変化する船の物質的な具体化を反映しています。

理想と物質についてのプラトン:

理想の形としての不変のSHIP_OF_THESEUSは変わらず、毎日テセウスの船を表しています。ただし、素材の変更を反映して、その価値 (部品) が変更される可能性があります。

形式と物質についてのアリストテレス:

アリストテレスは、船のアイデンティティはその機能によって保たれると言うでしょう(JSのダックタイピングに非常に似ていますね?)。この例では、船の部品は変化しますが、オブジェクトの形状 (構造と機能) は変わりません。部品は変わっても、毎日同じテセウスの船です。

それでは、定数を使用する実際の利点は何でしょうか?

主な利点は読みやすさや再利用しやすさではありません。主な利点は、コードを 理想物質 (プラトンによれば)、または 形式物質 (アリストテレスによれば) に分離できることです。 .

この分離を行うことで、形を変えずに物事を変えることができます。
そして、問題を気にすることなく、プログラム全体でこのフォームを使用できます。

以上がJS の定数とプラトンとアリストテレスはそれと何の関係があるのかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。