파이썬 주석에서 긴 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.