В Python действует ряд соглашений по стилю кода, основной из которых — PEP8:
a = b + cСоблюдение PEP8 облегчает командную работу, повышает читабельность, снижает порог входа, упрощает автоматизацию тестирования и др.
В PEP8 рекомендуется не использовать однобуквенные имена переменных. Однако можно ли в list comprehensions или в lambda использовать короткие имена? Почему?
Ответ: В базовом случае для кратких итераций (например, в list comprehensions для переменных-маркеров, вроде x, i, j) допускается использовать однобуквенные имена, чтобы не загромождать короткие выражения. Для сложных выражений лучше давать осмысленные имена.
Пример:
# Допустимо: squares = [x**2 for x in numbers] # Лучше: squares = [number**2 for number in numbers]
История 1
В банковском проекте столкнулись с тем, что часть функций и параметров была названа в разных традициях (CamelCase, snake_case, через дефис). Новый член команды постоянно путался, где именно используются имена — почти две недели ушло на устранение коллизий и переименование переменных.
История 2
В дата-инженерном проекте не соблюдались отступы, смешивались табы и пробелы. Это приводило к SyntaxError на разных дев-станциях, а часть разработчиков тратила часы на поиск лишних пробелов.
История 3
На крупном образовательном портале перемешали короткие и длинные имена переменных. Например, функцию для обработки логов назвали l(), а обработчик входа — long, что во многих IDE заняло много времени на навигацию и вызвало путаницу в использовании функции с элементом l из списка.