Основные правила именования

- Ясность и понятность: Давайте стараться использовать такие имена, которые сразу отражают суть переменной или функции. Например,
do_somethingне передает смысла, лучше использовать конкретное название действия. - Использование нижнего подчеркивания: Для имен методов, аргументов и переменных, которые будут видны только внутри класса или модуля, используйте одинарное подчеркивание перед именем, например,
_pname. - Избегайте сокращений: Старайтесь не сокращать слова без необходимости. Например, вместо
intlnиспользуйтеinternationalizationилиi18n. - Имена методов и функций: Методы и функции обычно называются с использованием глаголов, чтобы сразу было понятно, что они делают. Например,
create_reportлучше, чемreport. - Использование self: В методах классов аргумент
selfвсегда должен быть первым. Пример правильного именования:def __init__(self, name):. - Специальные методы: Методы, предназначенные для переопределения поведения, как правило, имеют двойное подчеркивание с обеих сторон, например,
__init__или__str__. Такие методы называют специальными и их имена не должны пересекаться с именами обычных методов. - Константы: Для константных значений используйте прописные буквы и слова, разделенные нижним подчеркиванием. Например,
MAX_VALUE. - Имена переменных: Переменные должны быть названы таким образом, чтобы по их имени можно было легко понять их значение или предназначение. Например,
user_nameилиtotal_sum. - Избегайте использования зарезервированных слов: Никогда не используйте зарезервированные слова языка как имена переменных или функций. Например,
class,defи другие.
Следуя этим рекомендациям, вы сможете создать более структурированный и легко поддерживаемый код, который будет понятен как вам, так и другим разработчикам.
Отличия между переменными и функциями
Переменная представляет собой именованное место хранения, которое содержит некоторое значение. Например, переменная p_age может хранить возраст человека. Переменные используются для хранения данных, которые могут изменяться в ходе выполнения программы. При этом значение переменной может быть обновлено в любой момент, что позволяет программе реагировать на изменения в данных.
Функция же является блоком кода, который выполняет определенную задачу и может быть вызван из различных частей программы. Функции позволяют структурировать код, делая его более читаемым и модульным. Например, функция mysample может выполнять вычисления на основе входных параметров и возвращать результат. Функции также способствуют повторному использованию кода, поскольку один и тот же функциональный блок может быть вызван многократно в различных местах программы.
Одним из ключевых аспектов различия между переменными и функциями является их именование. В переменных часто используются одиночные слова или аббревиатуры, например, name или recent, тогда как для функций предпочтительнее использовать слова, описывающие выполняемую задачу, например, get_recent_name. Важно отметить, что функции могут принимать аргументы и возвращать значения, что делает их мощным инструментом для реализации логики программы.
Соглашения по именованию переменных и функций основаны на дзене программирования: «Простота лучше сложности». Переменные и функции с понятными именами облегчают понимание кода и его поддержку. Использование нижнего подчеркивания в именах переменных, таких как self.first_name, позволяет избежать конфликтов имен и способствует сокрытию данных в рамках класса. Конструкторы классов, такие как __init__(self), часто используют двойное нижнее подчеркивание для придания специального значения этим именам.
На примере переменной sarah и функции internationalization_i18n можно увидеть, как различные соглашения именования помогают структурировать код. Переменные используются для хранения значений, в то время как функции предназначены для выполнения задач и могут возвращать результаты. Правильное именование способствует более быстрому пониманию кода, что особенно важно в крупных проектах с большим количеством разработчиков.
Применение в методах классов
В данном разделе мы рассмотрим использование нижнего подчеркивания в именах методов классов в Python. Этот подход основан на соглашениях и практиках, которые позволяют явно указать, какие методы следует использовать внутри класса, а какие лучше не вызывать извне. Таким образом, мы можем обеспечить более чистый и понятный код, сокрыть внутренние детали реализации и сфокусироваться на основных задачах класса.
- Методы, имена которых начинаются с одного нижнего подчеркивания, такие как
_method_name, обычно используются внутри класса. Они предназначены для внутреннего использования и не рекомендуется вызывать их напрямую извне объектов класса. - Использование двойного нижнего подчеркивания для имен методов, например,
__method_name, приводит к механизму именования под названием name mangling, который изменяет имя метода на основе имени класса. Это обеспечивает уникальность имен в контексте наследования, предотвращая случайное переопределение в подклассах. - Одиночное нижнее подчеркивание, применяемое к переменным в методах, например,
self._variable_name, часто используется для скрытия переменных и атрибутов от внешнего доступа, сохраняя их для внутреннего использования в классе.
Эти соглашения основаны на принципах ясности и организации кода в Python, что помогает разработчикам быстрее ориентироваться в своем собственном или чужом коде, делает его более поддерживаемым и улучшает его структуру.
Советы по выбору имен
При выборе имени для переменной или функции предпочтите ясность и описательность. Не стесняйтесь использовать длинные имена, которые точно отражают предназначение объекта или операции. Например, вместо myobj предпочтительнее использовать более информативное user_profile или calculate_age.
В классах и методах следуйте соглашениям и шаблонам, принятым в вашем проекте или сообществе. Используйте названия, основанные на функциональности и контексте. Например, метод, инициализирующий объект, часто называется __init__, что соответствует соглашениям языка Python.
- Избегайте однобуквенных имен, за исключением случаев, когда они стандартно используются для итераторов или временных переменных.
- Придавайте особое внимание именам, начинающимся с подчеркивания (
_var) или двойного подчеркивания (__var). Эти соглашения используются для указания на специфические условия использования переменных или методов. - Используйте английские слова или общепринятые термины для названий, чтобы обеспечить однозначность и удобство восприятия вашего кода другими разработчиками.
Всегда помните, что чистый и понятный код – это не только профессиональный долг, но и проявление уважения к коллегам и будущим разработчикам, которые будут поддерживать и расширять ваше творение.
Использование описательных имен

Каждое имя в вашем коде должно быть как сообщением, передающим его назначение другим программистам, включая вас самого в будущем. Хорошие имена могут существенно сократить время, затрачиваемое на понимание функции или метода. Вместо использования общих имен, таких как «t2py» или «myobj», предпочтительнее использовать слова, которые явно указывают на предназначение объекта или функции.
Для примера, если вы создаёте класс для работы с международными сообщениями, использование имени «InternationalizationManager» будет гораздо яснее, чем просто «Manager». Также важно помнить о соглашениях по именованию, таких как использование нижнего подчеркивания между словами в составных именах (например, «class_classname») или выбор одиночного или двойного подчеркивания для специальных методов в Python.
Правильное использование описательных имен способствует не только повышению понятности кода, но и улучшению его структуры. Это особенно важно при работе в команде или при переходе к поддержке кода другими разработчиками.
Значение удобочитаемости кода
При написании кода следует придерживаться определенных соглашений и стандартов, которые способствуют повышению его понятности и структурированности. Это включает использование понятных имен переменных, функций и методов, использование правильного форматирования и отступов, а также выбор подходящих шаблонов и методов программирования.
Например, вместо использования сложных или слишком общих имён переменных, таких как myobj или sarah, рекомендуется выбирать более описательные имена, которые ясно передают назначение переменной или функции в контексте вашего проекта. Это делает код более прозрачным и легко читаемым для других разработчиков.
Кроме того, следует учитывать возможность международной адаптации кода. Для этого можно использовать техники, такие как internationalization (i18n), которые позволяют легко адаптировать сообщения и тексты в приложении для различных языков и культур.
Использование правильных соглашений и именования не только способствует улучшению удобочитаемости кода, но и повышает его эффективность и сопровождаемость на всех этапах разработки и эксплуатации программного продукта.








