Bir python yorumunda uzun bir url'yi nasıl biçimlendirmeliyim ve yine de PEP8 uyumlu olmalıyım


85

Bir blok yorumunda, 80 karakterden uzun bir URL'ye başvurmak istiyorum.

Bu URL'yi görüntülemek için tercih edilen kural nedir?

Bit.ly'nin bir seçenek olduğunu biliyorum, ancak URL'nin kendisi açıklayıcı. Kısaltmak ve ardından kısaltılmış URL'yi açıklayan iç içe geçmiş bir yoruma sahip olmak berbat bir çözüm gibi görünüyor.

Yanıtlar:


77

URL'yi bozmayın:

# 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
Katılıyorum; ancak PyCharm, (kodunuzu her yerde çirkin '# noinspection LongLine' (ve benzeri) referanslarla yazmadan görmezden gelmeyi kolaylaştırmaz. Bence en büyük sorun, RST formatının yapamama sınırlamasına sahip olmasıdır. URL içinde bir satır sonu var (görüntülenmeyen).

4
Cevap, nasıl uyumlu olunacağına cevap vermez, bu yüzden bir linteriniz varsa, uyarılarla kalır.
Efren

4
@jfs yani cevap gerçekten şöyle olmalı: "bu durumda uzun bir çizgi PEP8 uyumludur"
Efren

2
@Efren tam olarak cevabım: * "nasıl biçimlendirmeliyim .. ve pep-8 uyumlu olmalıyım" * -> "url'yi bozma"
jfs

2
Kontrol-tıklamayı keşfettim !! Şimdi bu yüzden bir yorumdaki bir URL'yi kırmak istemiyorsunuz.
Bob Stein

69

Gönderen PEP8

Ama en önemlisi: ne zaman tutarsız olacağınızı bilin - bazen stil kılavuzu işe yaramaz. Şüphe duyduğunuzda, sağduyunuzu kullanın. Diğer örneklere bakın ve neyin en iyi göründüğüne karar verin. Ve sormakta tereddüt etmeyin!

Belirli bir kuralı çiğnemek için iki iyi neden:

  • Kuralı uygularken, kuralları izleyen kodu okumaya alışkın biri için bile kodu daha az okunaklı hale getirir.

Şahsen, bu tavsiyeyi kullanırdım ve daha ziyade, tam açıklayıcı URL'yi insanlara yorumunuzda bırakırım.


46

Sen kullanabilirsiniz # noqacheck çalışmasını PEP8 / Flake8 durdurmak için satırın sonunda. Buna PEP8 tarafından şu yolla izin verilir:

Özel durumlar kuralları çiğnemek için yeterince özel değildir.


3
Zarif. Vim'de pyflakes kullanıyorum ve üzerinde anlaşılan kurallar setinden sıfır uyarı verene kadar değişiklik yapmayacağım (bizim durumumuzda maccabe gereksinimi daha gevşek, ancak 80 satır sınırı değil). İş arkadaşlarına söylemenin en kısa yolu: Çok satırlı ayrılmadım çünkü bunu yapmak mantıklı değil.
Peter Host

4
Teşekkürler @Sardathrion, pratik bir çözüme katkıda bulunduğu için daha fazla oy almalı.
ezdazuzena

22

Bırak derim ...

PEP20 :

Özel durumlar kuralları çiğnemek için yeterince özel değildir.

Pratiklik saflığı yense de.

Bir url'yi hızlı bir şekilde kopyalayıp yapıştırabilmek ve ardından tarayıcıya yapıştırırken satır sonlarını kaldırmak daha pratiktir.


15

Flake8 kullanıyorsanız:

"""
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’ınki gibi bir url kısaltıcı kullanıyorsunuz, bundan dolayı:

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

alırsın:

http://goo.gl/93ZLQ


9
Elbette risk, bağlantı kısaltıcının ortadan kalkması ve bağlantıyı bilmemizin hiçbir yolu yok. ArchiveTeam (Archive.org'a bağlı bir liderlik liderliğinde) bağlantı kısaltıcıları kurtarmaya adanmış bütün bir çabaya sahiptir…
Ahmed Fasih

1
Ve sadece bu da değil, orijinal URL'nin ne olduğuna dair bilgiler de var. URL kısaltıcılar bu bilgiyi kaybeder.
Julien Chastang

-5

Benim seçeneğim şöyle olurdu:

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

3
Bu şekilde kullanılabilir bir şekilde kopyalamak için çok acı verici.
Kel Solaar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.