Я начал использовать Flake8 для проверки своего кода на Python, но одна ошибка/предупреждение, которую он всегда выдает мне, которую мне сложно сортировать, - это «строка продолжения с отступом сверху/слишком».
Flake8 хочет, чтобы моя линия продолжения точно совпадала с начальной скобкой. Итак, в приведенном ниже примере Flake8 не понравятся первые два, но понравится третий: (» = 4 пробела, · = один пробел)
let_us_pass.some_function(with_a_lot_of=['strings'], or_other_arguments,
» » » » » » and_another)
let_us_pass.some_function(with_a_lot_of=['strings'], or_other_arguments,
» » » » » » » and_another)
let_us_pass.some_function(with_a_lot_of=['strings'], or_other_arguments,
» » » » » » ··and_another)
Таким образом, Flake8 не жалуется на смешивание блоков из 4 пробелов и одиночных пробелов.
Все, что я могу найти в PEP8, это комментарий в примере: # Hanging indents *may* be indented to other than 4 spaces.
Означает ли это, что это осуждается? Должен ли я продолжать очищать все предупреждения Flake8 (и смешивать количество пробелов) или жить с предупреждениями, чтобы поддерживать чистоту 4 пробелов.
#Aligned with opening delimiter.
, точно такой же, как ваш пример 3 в вопросе. Ваши первые два подхода соответствуют первому примеру No того же раздела. У вас нет отступа, поэтому ваш комментарий может использоваться не применяется. - person roganjosh   schedule 18.10.2018# Arguments on first line forbidden when not using vertical alignment
- person thosphor   schedule 18.10.2018# Arguments on first line forbidden when not using vertical alignment.
У вас есть аргументы в первой строке, и только ваш 3-й пример выровнен по вертикали. - person roganjosh   schedule 18.10.2018(n × indent_level + alignment) × ' '
? - person Chris   schedule 18.10.2018