Pemalar dalam JS dan apa kaitan Plato dan Aristotle dengannya

WBOY
Lepaskan: 2024-08-09 08:21:22
asal
430 orang telah melayarinya

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

Saya nampaknya junior melihat komponen kod sebagai perkara material, manakala senior lebih banyak berurusan dengan kategori ideal.
Atau mungkin ia bergantung pada pandangan dunia seseorang berbanding tahap profesional mereka?

Kadangkala semasa semakan kod, saya terjumpa kod di mana bukannya pemalarCAR_WIDTH, pembangun menggunakan pemalarJADUAL_LEBARkerana ia adalah pemalar pertama yang dia temui dengan nilai yang sesuai.

Ini adalah masalah biasa apabila pembangun memilih pemalar berdasarkan nilainya dan bukannya namanya. Ternyata pembangun tidak memahami tujuan utama pemalar. Pada pandangan beliau, pemalar hanya untuk digunakan semula dan kebolehbacaan.

Mari kita ingat kembali apa yang Plato dan Aristotle katakan tentang perkara ini.

Mereka mempunyai pemalar sendiri yang dipanggilSHIP_OF_THESEUS.
https://en.wikipedia.org/wiki/Ship_of_Theseus
Ia mungkin dinamakan berbeza dalam bahasa Yunani, tetapi kami akan menulisnya dalam bahasa Latin dan oleh itu menterjemahkannya ke dalam bahasa Inggeris.

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

MalarSHIP_OF_THESEUSdalam contoh ini melambangkan identiti Kapal Theseus yang tidak berubah. Nilainya, yang berubah mengikut masa, mewakili perubahan material.

// 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" } };
Salin selepas log masuk

Ideal (Malar):

SHIP_OF_THESEUS: Setiap hari, pemalar ini mewakili intipati ideal Kapal Theseus. Walaupun nilainya berubah, konsep kapal tetap tidak berubah.

Bahan (Nilai Pemalar):

bahagian: Senarai bahagian kapal yang berubah setiap hari. Ini mencerminkan penjelmaan material kapal, yang berubah dari semasa ke semasa.

Plato mengenai Ideal dan Bahan:

BentukSHIP_OF_THESEUSyang tetap sebagaiidealkekal tidak berubah: setiap hari ia mewakili Ship of Theseus. Walau bagaimanapun, nilainya (bahagian) mungkin berubah, mencerminkanbahanberubah.

Aristotle tentang Bentuk dan Jirim:

Aristotle akan mengatakan bahawa identiti kapal itu terpelihara melaluibentukdanfungsi(sangat serupa dengan menaip itik dalam JS, bukan?). Dalam contoh kami, walaupun bahagian kapal berubah, bentuk objek (struktur dan fungsinya) kekal tidak berubah. Setiap hari ia masih kapal Theseus yang sama, walaupun ada perubahan pada bahagiannya.

Jadi apakah faedah sebenar menggunakan pemalar?

Faedah utama bukan kebolehbacaan dan kebolehgunaan semula. Faedah utama ialah pengasingan kod kepadaidealdanbahan(menurut Plato) ataubentukdanjirim(menurut Aristotle).

Dengan membuat perpisahan ini, kita boleh mengubah perkara tersebut tanpa mengubah bentuk.
Dan kita boleh menggunakan borang sepanjang program tanpa perlu risau tentang perkara.

Atas ialah kandungan terperinci Pemalar dalam JS dan apa kaitan Plato dan Aristotle dengannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!