Форматирование кода
Давай немного поговорим про форматирование кода. Ты уже наверняка знаешь про 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(),
)
Кавычки
Используй одинарные или двойные кавычки на свой вкус. Главное – везде придерживаться одного варианта.
Из этого следует важное: если в коде уже используются одинарные – их и используй, даже если привык использовать двойные.