파이썬 주석에서 긴 URL 형식을 지정하고 여전히 PEP8을 준수해야합니다.


83

블록 주석에서 80 자 이상의 URL을 참조하고 싶습니다.

이 URL을 표시하는 데 선호되는 규칙은 무엇입니까?

bit.ly가 옵션이라는 것을 알고 있지만 URL 자체는 설명 적입니다. 단축 한 다음 단축 된 URL을 설명하는 중첩 된 주석을 갖는 것은 엉터리 해결책처럼 보입니다.

답변:


76

URL을 깨지 마십시오.

# A Foolish Consistency is the Hobgoblin of Little Minds [1]
# [1]: http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds

5
나는 동의한다; 그러나 PyCharm은 무시하기 쉽게 만들지 못합니다 (못생긴 '# noinspection LongLine'(및 이와 유사한) 참조로 코드를 작성하지 않고서는 안됩니다. 더 큰 문제는 RST 형식이 할 수 없다는 제한이 있다는 것입니다. URL 내에 줄 바꿈 (표시되지 않음)이있는 경우

4
대답은 준수 방법에 대한 대답이 아니므로 린터가 있으면 경고와 함께 남아 있습니다.
Efren

4
@jfs 그래서 대답은 정말로 : "이 경우 긴 줄은 PEP8을 준수합니다."
Efren

2
@Efren 정확히 내 대답입니다 : * "어떻게 포맷해야합니다 .. 그리고 pep-8을 준수해야합니까?"*-> "URL을 깨지 마십시오"
jfs

2
방금 control-click !! 이제 주석에서 URL을 나누고 싶지 않은 이유입니다.
Bob Stein

68

에서 PEP8

그러나 가장 중요한 것은 일관성이없는시기를 아는 것입니다. 때로는 스타일 가이드가 적용되지 않는 경우도 있습니다. 의심스러운 경우 최선의 판단을 사용하십시오. 다른 예를보고 가장 잘 보이는 것을 결정하십시오. 그리고 주저하지 말고 물어보세요!

특정 규칙을 어기는 두 가지 이유 :

  • 규칙을 적용하면 규칙을 따르는 코드를 읽는 데 익숙한 사람에게도 코드의 가독성이 떨어집니다.

개인적으로 나는 그 조언을 사용하고 오히려 사람들을 위해 귀하의 의견에 전체 설명 URL을 남겨 둡니다.


45

# noqa줄 끝에있는를 사용하여 PEP8 / Flake8이 해당 검사를 실행하지 못하도록 할 수 있습니다 . 이것은 PEP8에서 다음을 통해 허용됩니다.

특별한 경우는 규칙을 어길만큼 특별하지 않습니다.


3
우아한. 저는 Vim에서 pyflakes를 사용하고 합의 된 규칙 집합에서 경고를 0으로 반환 할 때까지 변경 사항을 적용하지 않습니다 (maccabe 요구 사항은 우리의 경우 더 느슨하지만 80 줄 제한은 아님). 동료에게 알리는 가장 짧은 방법 : 그렇게하는 것이 말이되지 않기 때문에 여러 줄로 나누지 않았습니다.
Peter Host

4
@Sardathrion에게 감사드립니다. 실제로 실용적인 솔루션에 기여하기 때문에 더 많은 표를 얻어야합니다.
ezdazuzena

22

놔둬 야겠다 ...

PEP20 :

특별한 경우는 규칙을 어길만큼 특별하지 않습니다.

실용성이 순결을 능가하지만.

URL을 빠르게 복사 / 붙여 넣기 한 다음 브라우저에 붙여 넣을 때 줄 바꿈을 제거하는 것이 더 실용적입니다.


14

flake8을 사용하는 경우 :

"""
long-url: http://stackoverflow.com/questions/10739843/how-should-i-format-a-long-url-in-a-python-comment-and-still-be-pep8-compliant
"""  # noqa

-2

다음과 같이 Google과 같은 URL 단축기를 사용합니다.

http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds

당신은 얻는다 :

http://goo.gl/93ZLQ


9
물론 위험은 링크 단축기가 사라지고 링크를 알 수있는 방법이 없다는 것입니다. (Archive.org와 제휴 리더십에 의해 주도) ArchiveTeam 링크 축약 절약에 전념 전체의 노력 ...이
아메드 Fasih

1
뿐만 아니라 원래 URL에는 그것이 무엇인지에 관한 정보가 있습니다. URL 단축기는 해당 정보를 잃게됩니다.
Julien Chastang 2019 년

-5

내 옵션은 다음과 같습니다.

URL = ('http://stackoverflow.com/questions/10739843/'
       'how-should-i-format-a-long-url-in-a-python-'
       'comment-and-still-be-pep8-compliant')

3
이런 식으로 사용 가능한 방식으로 붙여 넣기를 복사하는 것은 너무 고통 스럽습니다.
켈 Solaar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.