Форматирование
Давай немного поговорим про форматирование кода. Ты уже наверняка знаешь про PEP8, но это не всё. Есть несколько случаев, которые можно форматировать по-разному, а делать одно и то же по-разному – это для любителей Javascript, а не Python. Давай придерживаться этих правил: от этого любой код станет привычнее и понятнее.
Форматирование списков
Если в списке больше пары элементов и он не умещается в 80 символов, то лучше его форматировать вот так:
blocked_users_ids = [ 11, 75, 14, ]
Вот что тут важно: каждый элемент на отдельной строке, все элементы с отступом в 4 пробела, после последнего элемента стоит запятая, закрывающая скобка без отступа. Это делает код понятнее при беглом просмотре и проще при изменении.
Форматирование словарей
Со словарями история почти как со списками: или короткий на одной строке или многострочный:
report_fields_titles_map = { 'header': 'Заголовок объявления', 'clicks': 'Количество кликов', 'cost': 'Общая стоимость', }
Эти правила особенно хорошо помогают с читаемостью, когда в словаре несколько уровней вложенности:
report_fields_titles_map = { 'header': 'Заголовок объявления', 'clicks': 'Количество кликов', 'cost': { 'raw': 'Без учёта налогов', 'nds': 'НДС', }, }
Вызов функций/методов
Удивительно, но с вызовом функций такая же история, как со списками и словарями: или короткий вызов на одной строке или каждый аргумент на новой строке.
Отдельным пунктом про именованные аргументы: их не всегда необходимо указывать, но хуже от этого редко бывает.
Смотри, какой кайф:
solution = ChallengeSolutionAttempt( user=self.request.user, challenge=challenge, submitted_at=now(), )
Кавычки
Используй одинарные или двойные кавычки на свой вкус. Главное – везде придерживаться одного варианта.
Из этого следует важное: если в коде уже используются одинарные – их и используй, даже если привык использовать двойные.