2012-03-27 6 views
1

Должен ли я следовать правилу максимальной длины строки 79 символов при кодировании в python.максимальная длина строки в python

если есть поэтому если использовать ввод и \ для линия поломка.

например,

qy = MyModel.objects.filter(name='abcd', modified_on__range= 
             (now-delta_6, now),type=1) \ 
             .select_related('Author') 

Я использую Emacs для моего питона кодирования. , так что, когда я использую enter для прерывания строки, я могу использовать вкладку для отступов, а иногда мне нужно использовать \ for indentation

так что это лучший способ сделать это.

Благодаря

+1

Вы прочитали [PEP 8] (http://www.python.org/dev/peps/pep-0008/)? – delnan

+0

да. до сих пор неясно. – pythonhmmm

+1

Вы нарушаете очень произвольные столбцы ... Почему бы вам не разобраться с запятыми, например? Также, видя, что эта строка настолько длинная, почему вы фактически выполняете вызов 'select_related' в этой строке? –

ответ

7

Максимальная длина линии 79 символов рекомендуется по PEP 8, и я обычно не считают это слишком трудно следовать этой рекомендации.

Также в соответствии с PEP 8 я стараюсь полагаться на подразумеваемое продолжение линии в круглых скобках. Данный пример можно легко разделить на два заявления:

qy = MyModel.objects.filter(
    name='abcd', modified_on__range=(now - delta_6, now),type=1) 
qy = qy.select_related('Author') 

Если ваш код выполняет много метод построения цепочки, вы можете предпочесть, чтобы добавить пару скобок, чтобы получить неявное линии продолжения:

qy = (MyModel.objects 
     .filter(name='abcd', modified_on__range=(now - delta_6, now),type=1) 
     .select_related('Author')) 

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

2

Я хотел бы переписать код, как это, если вы хотите следовать рекомендациям по PEP 8:

qy = MyModel.objects.filter(name='abcd', 
          modified_on__range=(now-delta_6, now), 
          type=1).select_related('Author') 

Как для должны ли вы после максимальной длины строки, предложенный в PEP 8, что действительно до вас.

PEP 8 предназначен для улучшения читаемости кода Python, а длина строки из 79 символов предназначена для совместимости с некоторыми устройствами с ограничением ширины и для простого просмотра кода сбоку. У меня довольно широкие экраны, поэтому, хотя я стараюсь следовать за PEP 8 большую часть времени, это одно правило, которое я проигнорирую, если я чувствую, что разделение линии уменьшает читаемость.

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