33

Правильное именование в python

Правильное именование в python Программирование, Обучение, IT, Образование, Учеба, Программист, Python, Урок, Функция, Класс, Переменные, Длиннопост

В большинстве своем начинающие программисты не обращают внимание на правильные названия переменных, функций, классов ( я был один из них ), после чего сильно страдают в будущем, потому что после неправильного нейминга приходится долго и мучительно переучиваться, так как эта привычка очень сильно въедается в мозг. А я еще после +- 2-ух лет занятий прикладным программированием решил стать профи в спортивном программировании, что также негативно сказалось на написании правильного кода.

Для чего это нужно?

Довольно простой и понятный вопрос, но его все-таки нужно обсудить, чтобы понимать с какой целью мы будем тратить непомерное количество усилий для придумывания грамотного названия переменной. А целью нашего труда будут являться сэкономленные десятки, сотни ( зависит от масштабов проекта ) человеко-часов, которые будут потрачены на рефакторинг и переименование абсурдных переменных, функций и т.д.

Имя переменной, функции или класса должно отвечать на все главные вопросы. Оно должно сообщить, почему эта переменная существует, что она делает и как используется. Если имя требует дополнительных комментариев, значит, оно не передает намерений программиста. ©Роберт Мартин

Что нужно знать, чтобы правильно наименовать переменные?

Для правильного нейминга нужно изучить следующие вещи:

1. Английский, чтобы правильно интерпретировать значения объектов в python

2. Понять что на самом деле делает функция или класс ( чтобы это понять используйте уточку )

Правильное именование в python Программирование, Обучение, IT, Образование, Учеба, Программист, Python, Урок, Функция, Класс, Переменные, Длиннопост

Соглашении об именовании

Перед тем, как перейти к описанию переменных, функций и классов по отдельности, нужно понять стиль кода в python:


Функции, переменные, методы - пишите название в нижнем регистре, если название состоит из более, чем 1-го слова, разделяйте нижним подчеркиванием.

pow_numbers(number_1, number_2), split_string = input().split()

Классы - первая буква - заглавная, остальные в нижнем регистре ( CamelCase ). Если класс состоит из более чем 1-го слова, то каждое последующее слово начинается с заглавной буквы

EmployeeData, AdminSettings

Константы - на константы распространяются те же правила, что и на переменные, только константы нужно называть, используя буквы в верхнем регистре.

CONSTANT, MY_CONSTANT, MY_LONG_CONSTANT

Исключения - Так как исключения являются классами => к исключениям применяется стиль именования классов. Однако вы можете добавить Error в конце имени

ForbiddenError, FoundError

Переменные

Имена переменных ни в коем случае не должны пересекаться с названиями модулей ( math, string ), операторов ( and or not ) и других зарезервированных слов python ( add, sum ).

Функции и методы

Функция должна содержать в своем названии какое-то действие ( add, remove, set ) и функция должна делать ровно одно действие, то есть если вам нужно проделать над одним объектом два или более действий и у вас получается в названии что-то такое: pow_and_divide_numbers, то его необходимо переписать на две функции pow и devide.

Классы

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

UserEdit, UserDelete
Надеюсь было интересно и познавательно :)

Мои контакты:

Мой гитхаб с проектами - https://github.com/l-arkadiy-l

Мое портфолио - https://www.avito.ru/moskva/predlozheniya_uslug/repetitor_po_programmirovaniyu_python_2097917724

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу