2014-02-06 1 views
12

Мне нелегко пытаться исправить этот кусок кода, чтобы он соответствовал рекомендациям PEP8. Я попытался сломать линию с обратной косой чертой, а затем заключил ее в набор скобок. Кроме того, я убедился, что вторая строка появилась сразу после первой правой позиции позиции.Как использовать линию продолжения с надписью для визуального отступа?

if (len(self._stools[origin]) > 0 and len(self._stools[dest]) and 
     self.top_cheese(origin).size > self.top_cheese(dest).size): 
     raise IllegalMoveError 

Таким образом, каждый раз, когда я бегу pep8.py на этот кусок кода я получаю:

TOAHModel.py:94:14: E127 продолжение линии над отступом для визуального отступа.

+1

В чем проблема? – monkut

ответ

16

Я предполагаю, что вы получаете строку продолжения, которая не отличает себя от следующей логической строки. Решение состоит в том, чтобы переместить второй строки другого отступ -

if (len(self._stools[origin]) > 0 and len(self._stools[dest]) and 
     self.top_cheese(origin).size > self.top_cheese(dest).size): 
    raise IllegalMoveError 

Причина заключается в том, что self.top_cheese(origin).size находится на тот же уровень отступа как raise IllegalMoveError, который может быть трудны для читателя, потому что это может не очевидно, где, если заявление заканчивается и начинается фактический блок внутри оператора if. Вы можете утверждать, что это выглядит не намного лучше, но так оно и есть.

+0

Спасибо за очень четкое объяснение! Теперь он передает PEP8! :) – wonggr

+1

И теперь это выглядит как 'self._stools [origin] ... self.top_cheese (dest) .size)' - выражение, которое является аргументом 'len'. =/ – jamesdlin

+0

Хе-хе, я бы определенно утверждал, что это выглядит не намного лучше! – grasshopper

Смежные вопросы