Имена повсюду в программном обеспечении. Мы называем наши переменные, наши функции, наши аргументы, классы и пакеты. Мы даем имена нашим исходным файлам и каталогам, которые их содержат. Мы называем наши файлы javaScript, файлы Python и файлы swift. Поскольку мы делаем так много имен, нам лучше сделать это хорошо. Далее следует несколько простых правил создания хороших имен. Я собираюсь объяснить 12 правил, которым вы можете следовать при создании осмысленных имен.

1. Используйте имена, раскрывающие намерения.
Выбор хороших имен требует времени, но экономит больше, чем нужно. Так что берегите свои имена и меняйте их, когда найдете более подходящие. Все, кто читает ваш код (включая вас), будут счастливы, если вы это сделаете. Имя переменной, функции или класса должно отвечать на все важные вопросы. Он должен рассказать вам, почему он существует, что он делает и как он используется. Если имя требует комментария, то имя не раскрывает своего намерения.

Int d; // elapsed time in days.

Имя д ни о чем не говорит. Он не вызывает ощущения ни прошедшего времени, ни дней. Мы должны выбрать имя, которое указывает, что измеряется, и единицу измерения;

Int elapsedTimeInDays;
Int daysSinceCreation;
Int daysSinceModification;
Int fileAgeInDays;

С простыми изменениями имени нетрудно понять, что происходит.

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

XYZControllerForEfficientHandlingOfStrings;
XYZControllerForEfficientStorageOfStrings;

Не используйте строчные буквы L и прописные буквы O в качестве имен переменных.

3. Делайте осмысленные различия.
Программисты создают себе проблемы, когда пишут код только для того, чтобы удовлетворить требования компилятора или интерпретатора. Например, поскольку вы не можете использовать одно и то же имя для двух разных вещей, у вас может возникнуть соблазн изменить одно имя случайным образом.

4. Используйте произносимые имена.
Люди хороши в словах. Значительная часть нашего мозга посвящена концепции слов. И слова произносимы. Было бы обидно не воспользоваться этим. Так что делайте ваши имена произносимыми.

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

class DtaRcrd102 {
	private Date genymdhms;
	private Date modymdhms;
	private final String pszqint = "102";
 };

To,

Class Customer{
	private Date generationTimestamp;
	private Date modificationTimestamp;;
	private final String recordId = "102";
};

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

for (int j = 0; j < 34; j++){
	s += (t[j]*4)/5;
}

To,

int realDaysPerIdealDay = 4;
const int WORK_DAYS_PER_WEEK = 5;
int sum = 0;
for (int j =0; j < NUMBER_OF_TASKS; j++){
	int realTaskDays = taskEstimate[j] * realDaysPerIdealDay;
	int realTaskWeeks = (real days / WORK_DAYS_PER_WEEK);
	sum +=realTaskWeeks;}

Сумма не особенно полезное имя, но, по крайней мере, оно доступно для поиска.

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

7. Имена классов и имена методов
Используйте словосочетания с существительными при написании имен классов, например "Клиент", "Учетная запись".
Используйте глагольные фразы при написании имен методов, таких как управление, добавление, обработка и т. д.

8. Не делайте имена слишком умными.
Если имена слишком умные, они запомнятся только тем, кто разделяет чувство юмора автора. Например, если вы напишете «HolyHandGrenade» для функции, которая используется для удаления вещей, некоторые люди сочтут это запутанным. Сделайте ваши имена простыми, например, напишите «DeleteItems» в качестве имени. Точно так же использование имени «ударить» для функции «убить» также не является понятным кодом.
Скажите, что вы имеете в виду. Имейте в виду, что вы говорите.

9. Выберите одно слово для каждой концепции.
Выберите одно слово для одной абстрактной концепции и придерживайтесь его. Это сбивает с толку, когда «выборка», «извлечение» и «получение» являются эквивалентными методами разных классов. Откуда вы знаете, какое имя метода относится к какому классу.

10. Не каламбур
Не используйте одно и то же слово в двух целях. Использование одного и того же термина для двух разных идей — это, по сути, каламбур.
Добавить — это каламбур. Вместо этого используйте вставку или добавление. Наша цель — сделать наш код максимально простым для понимания.

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

12. Добавьте осмысленный контекст.
Представьте, что у вас есть имена переменных, такие как имя, фамилия, улица, номер дома, город, штат и почтовый индекс. Взятые вместе, довольно ясно, что они образуют адрес. Но что, если вы только что увидели, что переменная «состояние» используется в методе одна?

Следуйте некоторым из этих правил и посмотрите, не повысится ли удобочитаемость кода. Если вы поддерживаете чужой код, используйте инструменты рефакторинга для решения этих проблем. Это окупится в краткосрочной перспективе и продолжит приносить прибыль в долгосрочной перспективе.