Понятные названия
Названия должны однозначно говорить о том, зачем нужна сущность: переменная, функция или что-то ещё.
Переменные – это сущности, а их названия – это существительные (user.level) или их свойства (user.is_admin). Название должно ясно ответить на вопрос «Что хранит переменная?».
Функции что-то делают с переменными, значит их названия – глаголы (download_report, levelup_user), и они отвечают на вопрос «Что делает функция?». Ответ должен быть полным, исчерпывающим. Например, недопустима ситуация когда def fetch_page(url) делает что-то неожиданное, не предусмотренное названием: выводит в консоль, вызывает exit('Случилась ошибка. Все сломалось') и прочее.
Названия должны быть:
- понятными: понятно говорить о смысле. Не
result, аusers_onlineилиjson_content. - точными: переменная
user_onlineне подходит для хранения списка пользователей. Такое название вводит в заблуждение и провоцирует на ошибки в коде. Корректный вариант —users_online. - полными: никаких
rдля радиуса Земли илиiдля элемента списка. В первом случае подойдётearth_radius, а во втором какой-нибудьuserилиbook, в зависимости от того, что в списке. Длинные названия – не проблема, у всех давно есть автокомплит. - на английском: никаких
knigaилиpolsovatel. Брр. - грамотными: не поленись открыть переводчик и гугл, чтобы подобрать правильный перевод. Неправильный перевод создаёт ощущение неряшливости, а может и смыслу навредить – тогда о читаемости не может быть и речи.
- уникальными: в Питоне есть встроенные функции, называть переменные их именами нельзя: тогда функция станет недоступна. Среди них есть file, dict, all, str.