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.