Home » Назовите это правильно!. «Есть только две трудные вещи в… | Матан Коэн | декабрь 2023 г.

Назовите это правильно!. «Есть только две трудные вещи в… | Матан Коэн | декабрь 2023 г.

фото Катя Рук на Unsplash

«В информатике есть только две сложные вещи: аннулирование кэша и присвоение имен вещам».

Происхождение этой цитаты неизвестно, но ясно одно: давать названия вещам — непростая задача!

Как разработчик программного обеспечения, я почти каждый день даю имена переменным, интерфейсам, классам, функциям и т. д.

Придумать подходящее название – задача не из легких. В этой статье мы рассмотрим важность именования, различие между хорошими и плохими именами и, в конечном итоге, как улучшить искусство именования.

Перед нашими родителями стояла непростая задача дать нам имя при рождении, и я уверен, что это была непростая задача.

фото Пикси на Unsplash

Твое имя ключевой — он служит уникальным ярлыком, отличающим вас от других, помогает в общении и необходим для юридических и административных целей, а также для различных других целей.

В программировании имена также важны, и вот почему:

Читабельность и понимание — Использование хороших имен повышает читаемость и понимание кода. Будь то кто-то другой или твой будущее я читая код (да, да), описательные имена играют решающую роль в быстром понимании смысла и назначения кода.

Форма документации — Хорошие имена могут снизить потребность в дополнительной документации, например в комментариях. Например:

// Without meaningful names and comments
function calculateArea(l, w) {
// Formula for the area of a rectangle
return l * w;
}

// With meaningful names, reducing the need for comments
function calculateRectangleArea(length, width) {
return length * width;
}

Коммуникация — Хорошие имена в коде способствуют лучшему общению с нашими коллегами, что делает взаимодействие по коду более гладким.

Уменьшить количество ошибок — Ошибки, ошибки, ошибки — мы все их знаем и ненавидим. Хорошие имена могут помочь нам избежать их.

Read more:  Tesla отзывает 200 000 автомобилей? Нет, и на этот раз это обновление программного обеспечения... выпущенное месяц назад.

В очень известном случае ошибки, которую можно было бы предотвратить с помощью лучшего названия, один из субподрядчиков, которых НАСА использовало при строительстве своего марсианского климатического орбитального аппарата, использовал британские единицы вместо предполагаемой метрической системы, что привело к неправильной работе двигателей орбитального аппарата. .
Из-за этой ошибки, орбитальный аппарат разбился почти сразу когда он прибыл на Марс в 1999 году.

Этой ошибки можно было бы избежать, если бы имя (или тип) также передавало используемые единицы измерения. К устранение неясности в системе орбитальный аппарат мог бы выжить.

Абстракция —Имена служат формами абстракций, предоставляя нам возможность работать с концепциями более высокого уровня и скрывать сложность базовой сущности. Например:

Функция calcCircumference вводит абстракцию для вычисления длины окружности. Потребителю достаточно знать radiusи они получат взамен окружность.

Теперь, когда мы поняли важность хороших имен, давайте поймем, как отличить хорошее имя от плохого.

Изображение было создано с помощью Bing AI.
Это изображение было создано с помощью Bing AI.

Ознакомившись с последней сенсацией в кулинарном мире, Моника, новый шеф-повар города, поручила нам создать новую систему доставки еды.

Вот начальная функция в нашем API:

Можете ли вы понять, что он делает?

Считает ли он количество открытых заказов, количество отмененных заказов или, возможно, количество гамбургеров??!? С таким именем у нас нет шансов узнать.

Хорошие имена должны быть точными — люди часто дают имена слишком общие или расплывчатые. Из-за этого читателю сложнее понять, к чему относится это имя, и может заставить его предположить, что оно относится к совершенно другому предмету.

В нашем примере нам нужна функция для представления количества текущих доставок. Гораздо лучшим именем для этой функции было бы:

Это имя гораздо точнее; читатель легко поймет, о чем идет речь, и вполне вероятно, что мы предотвратили несколько ошибок в системе.

Read more:  Xiaomi запатентовала головоломку с нестандартным дизайном. Вот как это будет выглядеть - SMARTmania.cz

Но не сходите с ума; такое имя, как countIntransitFoodDeliveries излишне длинна, вносит беспорядок и затрудняет понимание читателем.

Каждое слово в имени должно нести полезную информацию.; если нет, удалите его. В нашем примере слово «еда» можно опустить, так как тип доставки можно определить из контекста.

Возвращаясь к countIntransitDeliveriesмы можем даже сделать его немного более общим, передав статус доставки в качестве входных данных.

Помните, что я использовал statusкоторое может быть расплывчатым, но поскольку мы используем его в контексте countDeliveriesэто позволяет легко понять, какой статус мы имеем в виду.

Поэтому важно учитывать контекст, в котором написано имя.

2023-12-09 17:04:59


1702142046
#Назовите #это #правильно #Есть #только #две #трудные #вещи #Матан #Коэн #декабрь

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.