在我看來,後輩將程式碼元件視為物質性的東西,而前輩則更處理理想的類別。
或者也許這取決於一個人的世界觀而不是他的專業水平?
有時在程式碼審查期間,我會遇到程式碼,其中開發人員使用常數TABLE_WIDTH 而不是常量CAR_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中文網其他相關文章!