PEP8의 E128 : 시각적 들여 쓰기를 위해 밑줄이 그어진 줄은 무엇입니까?


298

Sublime Text가있는 파일 (Sublime Linter 포함)을 열어 본 적이 없었지만 PEP8 형식 오류가 나타났습니다. 텍스트는 다음과 같습니다.

urlpatterns = patterns('',
    url(r'^$', listing, name='investment-listing'),
)

두 번째 인수, 즉 시작하는 줄을 표시합니다. url(...)

ST2 에서이 검사를 비활성화하려고했지만 무시하기 전에 내가 뭘 잘못하고 있는지 알고 싶습니다 . 중요하다고 생각되면 내 길을 바꿀 수도 있습니다. :)

답변:


475

PEP-8 은 첫 줄에 무언가를 넣으면 여는 괄호 안에 줄을 들여 쓰는 것이 좋습니다 .

urlpatterns = patterns('',
                       url(r'^$', listing, name='investment-listing'))

또는 시작 줄에 인수를 넣지 않고 균일 한 수준으로 들여 쓰기하십시오.

urlpatterns = patterns(
    '',
    url(r'^$', listing, name='investment-listing'),
)

urlpatterns = patterns(
    '', url(r'^$', listing, name='investment-listing'))

나는 PEP-8을 통해 읽을 것을 제안합니다-당신은 그것을 많이 훑어 볼 수 있으며, 더 기술적 인 PEP와 달리 이해하기 쉽습니다.


5
Django가 왜 이것을하는 지 아는 사람은 아무도 없습니다. 좋은 이유가 있습니까? PeP-8을 따르는 것이 쉬운 것처럼 보입니다.
TheHerk

6
이것은 내가 본 Django 코드에서 매우 보편적으로 사용되며 (그리고 문서 전체에 걸쳐 있음) PEP-8을 대체 할 수 있을 것입니다. 특정 가이드가 해당 프로젝트에 우선합니다. "
Nick T

6
@TheHerk의 이론적 근거는 아마도 첫 번째 인수 patterns()는 고유하고 (다른 모든 것의 접두사) 다른 모든 인수는 기본적으로 동일한 URL 패턴입니다.
Nick T

6
@NickT 당신은 PEP-8을 잘못 읽고 있습니다-PEP-8은 주어진 프로젝트가 그것을 사용하는 기존의 규칙을 따르는 것을 권장합니다-그러나이 경우 코드는 Django로 들어 가지 않고 Django를 사용하여 프로젝트로 들어갑니다-필요하지 않습니다 그들의 협약을 따르기 위해. 이 규칙의 목표는 코드베이스 내에서 일관성을 유지하는 것입니다.
Gareth Latty 2014 년

25
PEP8은 또한 PEP8이 의미가있는 곳에서는 무시해야한다고 명시하고 있으며,이 경우에는 의미가 있다고 주장합니다. 자신의 프로젝트에 동의하지 마십시오. 어쨌든 이것은 patterns()장고 1.8에서 사용 이 더 이상 사용되지 않기 때문에 곧 근거
Tom Carrick

13

이것은 다음과 같은 문장에도 적용됩니다 (PyCharm에서 자동 서식 지정).

    return combine_sample_generators(sample_generators['train']), \
           combine_sample_generators(sample_generators['dev']), \
           combine_sample_generators(sample_generators['test'])

같은 스타일 경고를 줄 것입니다. 그것을 제거하기 위해 나는 그것을 다음과 같이 다시 작성해야했다.

    return \
        combine_sample_generators(sample_generators['train']), \
        combine_sample_generators(sample_generators['dev']), \
        combine_sample_generators(sample_generators['test'])

2
나는 백 슬래시보다 괄호를 선호합니다. 첫 번째 줄은 return (이고, 그 다음에 각각의 반환 가능한 항목은 자체 줄에 들여 쓰기되고 마지막으로 닫는 대괄호는 별도의 줄에서와 동일한 들여 쓰기 수준 return입니다. 편집 :pastebin.com/fAe7558X
Markus Meskanen

1
@MarkusMeskanen 그래, 나도. 자동 형식 조차도이 사양을 완전히 준수하지 않는다는 것을 지적하고 싶었습니다.
표시 이름
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.