При написании кода одним из наиболее упускаемых из виду, но важных аспектов является именование.
Имена, которые мы выбираем для переменных, функций, классов и других объектов в нашем коде, могут существенно повлиять на читаемость, удобство сопровождения и общее качество.
Глава 2 книги «Чистый код» посвящена искусству и науке выбора осмысленных имен и содержит набор рекомендаций, которые помогут разработчикам писать выразительный и понятный код.
В этой записи блога мы рассмотрим ключевые выводы из этой главы, иллюстрируя каждую концепцию примерами на JavaScript.
Выбранные вами имена должны четко передавать смысл переменной, функции или класса. Читатель должен иметь возможность понять, что делает код, без необходимости использования дополнительного контекста.
// Bad let d; // Good let daysUntilDeadline;
В первом примере d является расплывчатым и не дает контекста. Улучшенная версия,dayUntilDeadline, четко указывает, что представляет собой переменная.
Имена не должны вводить в заблуждение. Избегайте использования имен, которые могут иметь значение, отличное от того, что на самом деле имеет код.
// Bad let accountList = new Map(); // Good let accountsMap = new Map();
Здесь accountList может ввести в заблуждение, поскольку он предполагает список (который представляет собой упорядоченную коллекцию), тогда как фактическая структура данных представляет собой карту. Использование accountMap более точно.
Если вам нужно различать похожие переменные, функции или классы, делайте это так, чтобы различие было ясным и значимым.
// Bad getUserInfo(); getUserData(); // Good getUserProfile(); getUserSettings();
В первом примере getUserInfo и getUserData слишком похожи и нечетко передают свои различия. Второй пример поясняет разницу, называя функции в зависимости от того, что они возвращают.
Имена должны легко читаться и произноситься. Это упрощает обсуждение кода с другими.
// Bad let genymdhms; // Good let generationTimestamp;
genymdhms — непроизносимое имя, которое трудно запомнить или обсудить. ГенерацияTimestamp, однако, ясна и легко произносить.
В больших базах кода важно использовать имена, которые легко найти. Избегайте использования однобуквенных имен или слишком сокращенных имен.
// Bad let e = document.getElementById('email'); // Good let emailInputElement = document.getElementById('email');
e нелегко найти, и он не передает того, что представляет. emailInputElement более нагляден и его легче найти в базе кода.
Избегайте использования типов, префиксов и других кодировок в именах. Пусть само название будет достаточно информативным.
// Bad let phoneString; // Good let phoneNumber;
В этом случае phoneString включает ненужную кодировку типа (String). PhoneNumber проще и понятнее.
Классы представляют объекты или концепции, поэтому их имена должны быть существительными. С другой стороны, функции представляют действия, поэтому их имена должны быть глаголами.
// Class names (Nouns) class UserAccount {} class ShoppingCart {} // Function names (Verbs) function calculateTotal() {} function sendEmail() {}
Это различие помогает понять роль каждого элемента в вашем коде.
Не заставляйте читателя переводить имя во что-то более значимое. Название должно говорить само за себя.
// Bad let n = 5; // Number of users // Good let userCount = 5;
n требует, чтобы читатель запомнил или сделал вывод, что он обозначает количество пользователей, тогда как userCount сразу понятен.
Выбор осмысленных имен — это больше, чем просто вопрос стиля. Это фундаментальная практика написания чистого, удобного в сопровождении кода.
Следуя рекомендациям, изложенным в главе 2 книги «Чистый код», вы можете улучшить читаемость вашего кода JavaScript и облегчить его понимание и поддержку другим (и вам самим).
Помните, что цель — написать код, который передает свою цель и логику, снижая когнитивную нагрузку на читателя.
В следующий раз, когда вы будете называть переменную, функцию или класс, подумайте о принципах осмысленного именования и о том, как они могут способствовать созданию более чистого и эффективного кода.
Удачного программирования!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3