Это правило было частью оригинального эссе Гвидо , опубликованного в 1998 , где он заявляет:
(Не пытайтесь спорить со мной по любому из вышеперечисленных вопросов -- Я привык к этому стилю за 15 лет.)
Так что он не мотивировал это напрямую, но я могу придумать несколько веских причин, почему вы хотели бы избежать этогоэтот.Выравнивание кода с пробелами может показаться хорошей идеей в то время, когда все выстраивается аккуратно.
Но большинство проектов не являются статичными.Вы часто видите, что в реальных проектах код со временем меняется, и вы можете добавлять, удалять или переименовывать записи в списке, который вы так тщательно выровняли.Вы можете легко отрегулировать выравнивание всего блока, потому что ваши изменения изменили самую длинную запись.
Такие изменения теперь требуют больше работы.Вы должны заново выровнять блок.Ваши коллеги и ваше будущее должны больше работать, читая набор изменений в вашей системе управления версиями.
Или более поздний редактор может отказаться от возможности перенастроить дополнительные записи.Проект Wine dlls/msi/msipriv.h
файл начал хорошо выровнен , но более время несоответствия закрадываются, и вы получаетенемного беспорядка .
Далее, выравнивание не обязательно облегчает чтение кода;с достаточным количеством пробелов между ними вы можете легко неправильно понять, какое значение идет с каким именем.
В то же время PEP 8 является директивой .Сам документ гласит: :
Глупая последовательность - это хобгоблин маленьких умов
[...]
Однако, когдабыть непоследовательным - иногда рекомендации по стилю просто не применимы.В случае сомнений используйте свое лучшее суждение.Посмотрите на другие примеры и решите, что выглядит лучше.
Вам необходимо принять собственное решение относительно того, когда использовать выравнивание в любом случае .
Некоторые частиСтандартная библиотека Python нарушает это конкретное правило (и да, это отражение Python в примере проекта Wine выше; этот пример был импортирован из внешнего проекта несколько лет назад ), и есть другиепримеры нарушенных правил PEP8 там по историческим причинам , но иногда в некоторых, ограниченных областях , нарушение правил может имеет смысл.