Мне кажется, что младшие рассматривают компоненты кода как материальные вещи, а старшие больше имеют дело с идеальными категориями.
А может, это зависит от мировоззрения человека, а не от его профессионального уровня?
Иногда во время проверки кода я сталкиваюсь с кодом, в котором вместо константы 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, не так ли?). В нашем примере хотя части корабля и меняются, форма объекта (его структура и функция) остается неизменной. Каждый день это всё тот же Корабль Тесея, несмотря на изменения в его частях.
Основное преимущество — это не читабельность и возможность повторного использования. Основное преимущество — разделение кода на идеальный и материальный (по Платону) или форму и материю (по Аристотелю). .
Сделав такое разделение, мы можем изменить материю, не меняя формы.
И мы можем использовать форму на протяжении всей программы, не беспокоясь о материи.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3