HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><strong>В этой статье мы подробно рассказываем о методах именования классов, функций и переменных, которые позволяют улучшить читаемость вашего кода.</strong></p>
1 <p><strong>В этой статье мы подробно рассказываем о методах именования классов, функций и переменных, которые позволяют улучшить читаемость вашего кода.</strong></p>
2 <p><em>Это перевод статьи<a>A Useful Framework for Naming Your Classes, Functions, and Variables</a></em></p>
2 <p><em>Это перевод статьи<a>A Useful Framework for Naming Your Classes, Functions, and Variables</a></em></p>
3 <p><em>Автор оригинала<a>XOR</a></em></p>
3 <p><em>Автор оригинала<a>XOR</a></em></p>
4 <p>"В компьютерном программировании соглашение об именах - набор правил для выбора последовательности символов, которая будет использоваться для идентификаторов, которые обозначают переменные, типы, функции и другие объекты в исходном коде и документации", -<a>"Википедия"</a></p>
4 <p>"В компьютерном программировании соглашение об именах - набор правил для выбора последовательности символов, которая будет использоваться для идентификаторов, которые обозначают переменные, типы, функции и другие объекты в исходном коде и документации", -<a>"Википедия"</a></p>
5 <p><strong><em>Придумывать названия сложно!</em></strong></p>
5 <p><strong><em>Придумывать названия сложно!</em></strong></p>
6 <p>В этой статье мы сосредоточимся на методе именования (P)A/HC/LC для того, чтобы улучшить читаемость кода. Эти рекомендации можно применить к любому языку программирования, в статье для примеров кода используется JavaScript.</p>
6 <p>В этой статье мы сосредоточимся на методе именования (P)A/HC/LC для того, чтобы улучшить читаемость кода. Эти рекомендации можно применить к любому языку программирования, в статье для примеров кода используется JavaScript.</p>
7 <h2>Содержание</h2>
7 <h2>Содержание</h2>
8 <ul><li><a>Что значит (P)A/HC/LC?</a></li>
8 <ul><li><a>Что значит (P)A/HC/LC?</a></li>
9 <li><a>Что обозначает префикс (P)?</a></li>
9 <li><a>Что обозначает префикс (P)?</a></li>
10 <li><a>Действие - это сердце функции</a></li>
10 <li><a>Действие - это сердце функции</a></li>
11 <li><a>Контекст</a></li>
11 <li><a>Контекст</a></li>
12 <li><a>В итоге</a></li>
12 <li><a>В итоге</a></li>
13 </ul><h2>Что значит (P)A/HC/LC?</h2>
13 </ul><h2>Что значит (P)A/HC/LC?</h2>
14 <p>В этой практике используется следующий шаблон для именования функции:</p>
14 <p>В этой практике используется следующий шаблон для именования функции:</p>
15 <h2>Что обозначает префикс (P)?</h2>
15 <h2>Что обозначает префикс (P)?</h2>
16 <p><em>Префикс</em>расширяет смысл функции.</p>
16 <p><em>Префикс</em>расширяет смысл функции.</p>
17 <ul><li>is Описывает свойство или состояние текущего контекста (обычно - логическое значение).</li>
17 <ul><li>is Описывает свойство или состояние текущего контекста (обычно - логическое значение).</li>
18 </ul><ul><li>has Указывает, имеет ли текущий контекст определенное значение или состояние (обычно - логическое значение).</li>
18 </ul><ul><li>has Указывает, имеет ли текущий контекст определенное значение или состояние (обычно - логическое значение).</li>
19 </ul><ul><li>should Отражает положительный условный оператор (обычно - логическое значение), связанный с определенным действием.</li>
19 </ul><ul><li>should Отражает положительный условный оператор (обычно - логическое значение), связанный с определенным действием.</li>
20 </ul><h2>Действие - это сердце функции</h2>
20 </ul><h2>Действие - это сердце функции</h2>
21 <p><strong>Действие</strong>- это глагольная часть имени функции. Это самая важная часть в описании того, что делает функция.</p>
21 <p><strong>Действие</strong>- это глагольная часть имени функции. Это самая важная часть в описании того, что делает функция.</p>
22 <ul><li>get Получает доступ к данным немедленно (сокращение от getter для внутренних данных).</li>
22 <ul><li>get Получает доступ к данным немедленно (сокращение от getter для внутренних данных).</li>
23 </ul><ul><li>set Безусловно присваивает переменной со значением A значение B.</li>
23 </ul><ul><li>set Безусловно присваивает переменной со значением A значение B.</li>
24 </ul><ul><li>reset Возвращает переменную к её начальному значению или состоянию.</li>
24 </ul><ul><li>reset Возвращает переменную к её начальному значению или состоянию.</li>
25 </ul><ul><li>fetch Выполняет запрос данных, для которого требуется время (например, асинхронный запрос).</li>
25 </ul><ul><li>fetch Выполняет запрос данных, для которого требуется время (например, асинхронный запрос).</li>
26 </ul><ul><li>remove Удаляет что-то откуда-то.</li>
26 </ul><ul><li>remove Удаляет что-то откуда-то.</li>
27 </ul><p>Например, если у вас есть коллекция выбранных фильтров на странице поиска, удаление одного из них из коллекции - это removeFilter, а не deleteFilter (именно так вы и скажете на английском языке):</p>
27 </ul><p>Например, если у вас есть коллекция выбранных фильтров на странице поиска, удаление одного из них из коллекции - это removeFilter, а не deleteFilter (именно так вы и скажете на английском языке):</p>
28 <p>- delete</p>
28 <p>- delete</p>
29 <p>Полностью стирает что-то. После операции сущность перестаёт существовать.</p>
29 <p>Полностью стирает что-то. После операции сущность перестаёт существовать.</p>
30 <p>Представьте, что вы редактор контента, и есть пост, от которого вы хотите избавиться. Как только вы нажали на кнопку delete-post, CMS выполнила действие deletePost, а не removePost.</p>
30 <p>Представьте, что вы редактор контента, и есть пост, от которого вы хотите избавиться. Как только вы нажали на кнопку delete-post, CMS выполнила действие deletePost, а не removePost.</p>
31 <p>- compose</p>
31 <p>- compose</p>
32 <p>Создает новые данные из существующих. Обычно это применимо к строкам, объектам или функциям.</p>
32 <p>Создает новые данные из существующих. Обычно это применимо к строкам, объектам или функциям.</p>
33 <p>- handle</p>
33 <p>- handle</p>
34 <p>Обработка действия. Часто используется при именовании обратного вызова.</p>
34 <p>Обработка действия. Часто используется при именовании обратного вызова.</p>
35 <h2>Контекст</h2>
35 <h2>Контекст</h2>
36 <p><strong>Контекст</strong>- это область, с которой работает функция.</p>
36 <p><strong>Контекст</strong>- это область, с которой работает функция.</p>
37 <p>Функция - это часто действие с чем-то. Важно указать, какова её рабочая область или, по крайней мере, ожидаемый тип данных.</p>
37 <p>Функция - это часто действие с чем-то. Важно указать, какова её рабочая область или, по крайней мере, ожидаемый тип данных.</p>
38 <h2>В итоге</h2>
38 <h2>В итоге</h2>
39 <h3>Пять принципов именования переменных</h3>
39 <h3>Пять принципов именования переменных</h3>
40 <p>В этом разделе мы предложим некоторые правила именования переменных, которые улучшат читаемость кода.</p>
40 <p>В этом разделе мы предложим некоторые правила именования переменных, которые улучшат читаемость кода.</p>
41 <h4>1. Следуйте S-I-D</h4>
41 <h4>1. Следуйте S-I-D</h4>
42 <p>Имя должно быть коротким (<strong>S</strong>hort), интуитивно понятным (<strong>I</strong>ntuitive) и описательным (<strong>D</strong>escriptive).</p>
42 <p>Имя должно быть коротким (<strong>S</strong>hort), интуитивно понятным (<strong>I</strong>ntuitive) и описательным (<strong>D</strong>escriptive).</p>
43 <h4>2. Избегайте сокращений</h4>
43 <h4>2. Избегайте сокращений</h4>
44 <p>Не используйте сокращения. Обычно они только ухудшают читаемость кода. Найти короткое, описательное имя может быть сложно, но сокращения не могут быть оправданием для того, чтобы этого не делать. Например:</p>
44 <p>Не используйте сокращения. Обычно они только ухудшают читаемость кода. Найти короткое, описательное имя может быть сложно, но сокращения не могут быть оправданием для того, чтобы этого не делать. Например:</p>
45 <h4>3. Избегайте дублирования контекста</h4>
45 <h4>3. Избегайте дублирования контекста</h4>
46 <p>Всегда удаляйте контекст из имени, если это не снижает его читабельность.</p>
46 <p>Всегда удаляйте контекст из имени, если это не снижает его читабельность.</p>
47 <h4>4. Отражайте в имени ожидаемый результат</h4>
47 <h4>4. Отражайте в имени ожидаемый результат</h4>
48 <h4>5. Учитывайте единственное/множественное число</h4>
48 <h4>5. Учитывайте единственное/множественное число</h4>
49 <p>Как и префикс, имена переменных могут быть единственного или множественного числа в зависимости от того, имеют ли они одно значение или несколько.</p>
49 <p>Как и префикс, имена переменных могут быть единственного или множественного числа в зависимости от того, имеют ли они одно значение или несколько.</p>
50 <h4>6. Используйте осмысленные и произносимые имена</h4>
50 <h4>6. Используйте осмысленные и произносимые имена</h4>
51  
51