PyLint
Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut pylint'tir.
Program:
ADI
PyLint - piton kodu statik denetleyicisi
SİNOPSİS
PyLint [ SEÇENEKLER ] [ ]
AÇIKLAMA
PyLint programlama hatalarını arayan, yardımcı olan bir Python kaynak kodu analizcisidir.
bir kodlama standardı uygulamak ve bazı kod kokularını koklamak (Martin Fowler'ın
Yeniden düzenleme kitabı)
PyChecker ile yapabileceğiniz neredeyse tüm testler nedeniyle Pylint başka bir PyChecker olarak görülebilir.
Pylint ile de yapılabilir. Ancak, Pylint, kontrol etme gibi bazı özellikler daha sunar.
kod satırlarının uzunluğu, değişken adlarının sizin isteğinize göre iyi biçimlendirilip biçimlendirilmediğini kontrol etmek
kodlama standardı veya bildirilen arabirimlerin gerçekten uygulanıp uygulanmadığını kontrol etme ve çok daha fazlası.
Ek olarak, kendi çeklerinizi eklemek için eklentiler yazmak mümkündür.
Pylint, "pylint-gui", "pyreverse" (UML diyagram oluşturucu) ve "symilar" (bir
bağımsız benzerlikler denetleyicisi).
SEÇENEKLER
--versiyon
programın sürüm numarasını göster ve çık
--yardım, -h
bu yardım mesajını göster ve çık
--uzun-yardım
daha ayrıntılı yardım.
MASTER
--rcfile=
Bir yapılandırma dosyası belirtin.
--init-hook=
Yürütülecek Python kodu, genellikle pygtk.require() gibi sys.path manipülasyonu için.
--yalnızca hatalar, -E
Hata modunda, hata mesajı olmayan kontroller devre dışı bırakılır ve diğerleri için yalnızca
HATA mesajları görüntülenir ve varsayılan olarak hiçbir rapor yapılmaz
--py3k Python 3 taşıma modunda, tüm denetleyiciler devre dışı bırakılır ve yalnızca iletiler gönderilir
taşıma denetleyicisi tarafından görüntülenecektir
--yoksay= [, ...]
Kara listeye dosya veya dizin ekleyin. Yollar değil, temel adlar olmalıdırlar.
[geçerli: CVS]
--kalıcı=
Turşu, daha sonraki karşılaştırmalar için veri topladı. [geçerli: evet]
--yük-eklentileri=
Yüklenecek eklentilerin listesi (python modül adlarının virgülle ayrılmış değerleri olarak),
genellikle ek dama kaydetmek için. [geçerli: yok]
--işler= , -J
Pylint'i hızlandırmak için birden çok işlem kullanın. [geçerli: 1]
--extension-pkg-beyaz liste=
C uzantılarının olabileceği paket veya modül adlarının virgülle ayrılmış listesi
yüklendi. Uzantılar etkin Python yorumlayıcısına yükleniyor ve çalışabilir
keyfi kod [geçerli: yok]
KOMUTLAR
--help-msg=
Verilen mesaj kimliği için bir yardım mesajı görüntüleyin ve çıkın. Değer virgül olabilir
mesaj kimliklerinin ayrılmış listesi.
--liste-msjler
pylint'in mesajlarını oluşturun.
--list-conf-seviyeleri
pylint'in mesajlarını oluşturun.
--tam-dokümantasyon
pylint'in tam belgelerini oluşturun.
--rcfile oluştur
Mevcut konfigürasyona göre bir örnek konfigürasyon dosyası oluşturun. Sen
oluşturulan konfigürasyona almak için diğer seçenekleri bundan önce koyabilir.
MESAJLARI KONTROL
--güven=
Yalnızca listelenen güven seviyelerine sahip uyarıları gösterin. Tümünü göstermek için boş bırakın.
Geçerli düzeyler: YÜKSEK, ÇIKARTMA, ÇIKARMA_BAŞARISIZ, TANIMSIZ [geçerli: yok]
--etkinleştir= , -e
Verilen kimlik(ler) ile mesajı, raporu, kategoriyi veya denetleyiciyi etkinleştirin. Yapabilirsiniz
ya virgülle (,) ayırarak birden çok tanımlayıcı verin ya da bu seçeneği birden çok koyun
zaman. Örnekler için ayrıca "--disable" seçeneğine bakın.
--devre dışı bırak= , -NS
Verilen kimlik(ler)e sahip mesajı, raporu, kategoriyi veya denetleyiciyi devre dışı bırakın. Yapabilirsiniz
ya virgülle (,) ayrılmış birden çok tanımlayıcı verin ya da bu seçeneği birden çok koyun
kez (yalnızca komut satırında, olması gereken yapılandırma dosyasında değil)
yalnızca bir kez görünür). İlk olarak her şeyi devre dışı bırakmak için "--disable=all" öğesini de kullanabilirsiniz ve
sonra belirli kontrolleri yeniden etkinleştirin. Örneğin, yalnızca çalıştırmak istiyorsanız
benzerlikler denetleyicisi için "--disable=all --enable=benzerlikler" kullanabilirsiniz. Eğer sen
yalnızca sınıf denetleyicisini çalıştırmak istiyor, ancak hiçbir Uyarı düzeyi mesajı görüntülenmiyor,
kullan"--disable=all --enable=classes --disable=W"
RAPORLAR
--çıktı-formatı= , -F
Çıktı biçimini ayarlayın. Kullanılabilir biçimler metin, ayrıştırılabilir, renklendirilmiş, msvs'dir
(görsel stüdyo) ve html. Ayrıca bir muhabir sınıfı da verebilirsiniz, örn.
mypackage.mymodule.MyReporterClass. [geçerli: metin]
--files-çıktı=
Komutta belirtilen her modül / paket için mesajları ayrı bir dosyaya koyun
stdout'ta yazdırmak yerine satır. Raporlar (varsa) bir dosyaya yazılacaktır.
"pylint_global.[txt|html]" adını verin. [geçerli: hayır]
--raporlar= , -r
Tam bir raporun mu yoksa yalnızca mesajların mı görüntüleneceğini söyler [geçerli: evet]
--değerlendirme=
10'dan küçük bir not döndürmesi gereken Python ifadesi (10 en yüksek nottur).
Değişken hataları uyarısına, sırasıyla hangi ifadeye erişiminiz var?
hata/uyarı mesajlarının sayısını ve toplam ifade sayısını içerir
analiz edildi. Bu, küresel değerlendirme raporu (RP0004) tarafından kullanılır. [geçerli: 10.0 -
((float(5 * hata + uyarı + refactor + kural) / deyim) * 10)]
--yorum=
Değerlendirme notunuza göre bir yorum ekleyin. Bu, küresel
değerlendirme raporu (RP0004). [geçerli: hayır]
--msg-şablonu=
Mesajları görüntülemek için kullanılan şablon. Bu, kullanılan bir python yeni stil biçimi dizesidir.
mesaj bilgilerini biçimlendirin. Tüm ayrıntılar için dokümana bakın
İSTİSNALAR
--overgeneral-istisnalar=
Yakalandığında uyarı verecek istisnalar. Varsayılan olarak "İstisna"
[geçerli: İstisna]
SINIFLAR
--ignore-iface-yöntemleri=
Virgülle ayrılmış, yoksayılacak arabirim yöntemlerinin listesi. Bu için kullanılır
Zope'nin Arayüz temel sınıfında tanımlanan yöntemleri kontrol etmemek için bir örnek. [akım:
isImplementedBy,ertelenmiş,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,is_implementWith,adaptWith]
--tanımlama-attr-yöntemleri=
Örnek niteliklerini bildirmek (yani atamak) için kullanılan yöntem adlarının listesi. [akım:
__init__,__new__,kurulum]
--valid-classmethod-first-arg=
Bir sınıf yöntemindeki ilk bağımsız değişken için geçerli adların listesi. [geçerli: cls]
--valid-metaclass-classmethod-first-arg=
Bir metasınıf sınıf yöntemindeki ilk bağımsız değişken için geçerli adların listesi. [akım:
ms]
--hariç tutma korumalı=
Korumalı erişim uyarısının dışında tutulması gereken üye adlarının listesi.
[geçerli: _asdict,_fields,_replace,_source,_make]
KERESTECİLİK
--logging-modülleri=
Dize biçimi argümanlarının günlüğe kaydetme işlevinde olduğunu kontrol etmek için modülleri günlüğe kaydetme
parametre biçimi [geçerli: günlük kaydı]
DEĞİŞKENLER
--init-import=
__init__ dosyalarında kullanılmayan içe aktarmayı kontrol etmemiz gerekip gerekmediğini söyler. [geçerli: hayır]
--kukla değişkenler-rgx=
Kukla değişkenlerin adıyla eşleşen normal bir ifade (yani
kullanılmış). [geçerli: _$|kukla]
--ek yerleşikler=
Yerleşiklerde tanımlanması gereken ek adların listesi. Unutma ki sen
mümkün olduğunda yeni yerleşikler tanımlamaktan kaçınmalıdır. [geçerli: yok]
--geri aramalar=
Ada göre bir geri arama işlevini tanımlayabilen dizelerin listesi. Bir geri arama adı
bu dizelerden biriyle başlamalı veya bitmelidir. [geçerli: cb_,_cb]
TASARIM
--max-args=
İşlev / yöntem için maksimum argüman sayısı [geçerli: 5]
--ignored-argüman-adları=
Bu ifadeyle eşleşen bağımsız değişken adları yoksayılır. İle adlandırmak için varsayılan
önde gelen alt çizgi [geçerli: _.*]
--max-yerliler=
İşlev / yöntem gövdesi için maksimum yerel sayısı [geçerli: 15]
--max-dönüşler=
İşlev / yöntem gövdesi için maksimum dönüş / verim sayısı [akım: 6]
--max-dallar=
İşlev / yöntem gövdesi için maksimum dal sayısı [geçerli: 12]
--max-ifadeleri=
İşlev / yöntem gövdesindeki maksimum ifade sayısı [geçerli: 50]
--max-ebeveynler=
Bir sınıf için maksimum ebeveyn sayısı (bkz. R0901). [geçerli: 7]
--max-özellikler=
Bir sınıf için maksimum nitelik sayısı (bkz. R0902). [geçerli: 7]
--min-public-methods=
Bir sınıf için minimum genel yöntem sayısı (bkz. R0903). [geçerli: 2]
--max-public-methods=
Bir sınıf için maksimum genel yöntem sayısı (bkz. R0904). [geçerli: 20]
KLASİK
--gerekli-nitelikler=
Modül için virgülle ayrılmış gerekli nitelikler [geçerli: yok]
--kötü-fonksiyonlar=
Kullanılmaması gereken yerleşik işlev adlarının virgülle ayrılmış listesi
[geçerli: harita, filtre, girdi]
--iyi isimler=
Her zaman kabul edilmesi gereken, virgülle ayrılmış iyi değişken adları [geçerli:
i,j,k,eski,Çalıştır,_]
--kötü-isimler=
Her zaman reddedilmesi gereken, virgülle ayrılmış hatalı değişken adları [geçerli:
foo,bar,baz,toto,tütü,tata]
--isim-grubu=
Birbirlerinin adlandırma stilini belirleyen iki nokta üst üste ayrılmış ad kümeleri
name regex'leri birkaç stile izin verir. [geçerli: yok]
--include-adlandırma-ipucu=
Geçersiz adla doğru adlandırma biçimi için bir ipucu ekleyin [geçerli: hayır]
--fonksiyon-rgx=
Doğru işlev adlarıyla eşleşen düzenli ifade [geçerli: [a-z_][a-]
z0-9_]{2,30}$]
--fonksiyon-adı-ipucu=
İşlev adları için adlandırma ipucu [geçerli: [a-z_][a-z0-9_]{2,30}$]
--değişken-rgx=
Doğru değişken adlarıyla eşleşen normal ifade [geçerli: [a-z_][a-]
z0-9_]{2,30}$]
--değişken-adı-ipucu=
Değişken adları için adlandırma ipucu [geçerli: [a-z_][a-z0-9_]{2,30}$]
--const-rgx=
Doğru sabit adlarıyla eşleşen düzenli ifade [geçerli: (([A-Z_][A-
Z0-9_]*)|(__.*__))$]
--const-name-ipucu=
Sabit adlar için adlandırma ipucu [geçerli: (([A-Z_][A-Z0-9_]*)|(__.*__))$]
--attr-rgx=
Doğru öznitelik adlarıyla eşleşen normal ifade [geçerli: [a-z_][a-]
z0-9_]{2,30}$]
--attr-name-ipucu=
Nitelik adları için adlandırma ipucu [geçerli: [a-z_][a-z0-9_]{2,30}$]
--argüman-rgx=
Doğru argüman adlarıyla eşleşen normal ifade [geçerli: [a-z_][a-]
z0-9_]{2,30}$]
--argüman-adı-ipucu=
Bağımsız değişken adları için adlandırma ipucu [geçerli: [a-z_][a-z0-9_]{2,30}$]
--sınıf-özniteliği-rgx=
Doğru sınıf öznitelik adlarıyla eşleşen normal ifade [geçerli: ([A-Za-z_][A-]
Za-z0-9_]{2,30}|(__.*__))$]
--sınıf-özellik-adı-ipucu=
Sınıf öznitelik adları için adlandırma ipucu [geçerli: ([A-Za-z_][A-Za-
z0-9_]{2,30}|(__.*__))$]
--inlinevar-rgx=
Doğru satır içi yineleme adlarıyla eşleşen normal ifade [geçerli: [A-Za-z_][A-]
Za-z0-9_]*$]
--inlinevar-name-ipucu=
Satır içi yineleme adları için adlandırma ipucu [geçerli: [A-Za-z_][A-Za-z0-9_]*$]
--sınıf-rgx=
Doğru sınıf adlarıyla eşleşen normal ifade [geçerli: [A-Z_][a-zA-Z0-9]+$]
--sınıf-adı-ipucu=
Sınıf adları için adlandırma ipucu [geçerli: [A-Z_][a-zA-Z0-9]+$]
--module-rgx=
Doğru modül adlarıyla eşleşen normal ifade [geçerli: (([a-z_][a-z0-9_]*)|([A-
Z][a-zA-Z0-9]+))$]
--module-name-ipucu=
Modül adları için adlandırma ipucu [geçerli: (([a-z_][a-z0-9_]*)|([AZ][a-zA-Z0-9]+))$]
--yöntem-rgx=
Doğru yöntem adlarıyla eşleşen normal ifade [geçerli: [a-z_][a-z0-9_]{2,30}$]
--yöntem-adı-ipucu=
Yöntem adları için adlandırma ipucu [geçerli: [a-z_][a-z0-9_]{2,30}$]
--no-docstring-rgx=
Yalnızca eşleşmeyen işlev veya sınıf adlarıyla eşleşmesi gereken normal ifade
bir belge dizisi gerektirir. [akım: __.*__]
--docstring-min-uzunluk=
Belge dizileri gerektiren işlevler/sınıflar için minimum satır uzunluğu, daha kısa olanlar
muaf. [geçerli: -1]
ÇEŞİTLİ
--notlar=
Dikkate alınacak not etiketlerinin virgülle ayrılmış listesi. [akım:
DÜZELTME,XXX, YAPILACAKLAR]
TİP KONTROLÜ
--ignore-mixin-üyeleri=
Mixin sınıfında erişilen eksik üyelerin yoksayılıp yok sayılmayacağını söyler. bir karışım
adı "mixin" ile bitiyorsa (büyük/küçük harfe duyarsız) sınıf algılanır. [geçerli: evet]
--ignored-modüller=
Üye niteliklerinin kontrol edilmemesi gereken modül adlarının listesi (kullanışlı
ad alanlarının çalışma zamanı sırasında değiştirildiği ve dolayısıyla var olduğu modüller/projeler
üye özellikleri statik analizle çıkarılamaz [geçerli: yok]
--yok sayılan-sınıflar=
Üye niteliklerinin kontrol edilmemesi gereken sınıf adlarının listesi (kullanışlı
dinamik olarak ayarlanmış niteliklere sahip sınıflar). [geçerli: SQLObject]
--zope=
Zope modu etkinleştirildiğinde, önceden tanımlanmış bir Zope edinilmiş öznitelik seti ekleyin.
oluşturulan-üyeler. [geçerli: hayır]
--generated-üyeler=
Dinamik olarak belirlenen ve pylint çıkarım sistemi tarafından kaçırılan üyelerin listesi,
ve erişildiğinde E1101'i tetiklememelidir. Python düzenli ifadeleri
kabul edilmiş. [geçerli: REQUEST,acl_users,aq_parent]
YAZIM
--yazım-dikt=
Yazım sözlüğü adı. Mevcut sözlükler: yok. Kurulumun çalışmasını sağlamak için
python-enchant paketi. [geçerli: yok]
--spelling-ignore-words=
Kontrol edilmemesi gereken virgülle ayrılmış kelimelerin listesi. [geçerli: yok]
--spelling-private-dict-dosyası=
Özel sözlük içeren bir dosyanın yolu; satır başına bir kelime. [akım:
Yok]
--spelling-store-unknown-words=
--spelling- içindeki bilinmeyen sözcüklerin belirtilen özel sözlüğe kaydedilip saklanmayacağını söyler
mesajı yükseltmek yerine private-dict-file seçeneği. [geçerli: hayır]
FORMAT
--max-line-uzunluğu=
Tek bir satırdaki maksimum karakter sayısı. [geçerli: 100]
--ignore-long-lines=
Sınırdan daha uzun olmasına izin verilen bir satır için normal ifade. [geçerli: ^(#
)? ?$]
--tek satır-if-stmt=
Başka bir ifade yoksa, bir if'nin gövdesinin testle aynı satırda olmasına izin verin.
[geçerli: hayır]
--no-space-check=NO_SPACE_CHECK
Boşluk denetiminin devre dışı bırakıldığı isteğe bağlı yapıların listesi [geçerli:
sondaki virgül, dikte ayırıcı]
--max-module-lines=
Bir modüldeki maksimum satır sayısı [geçerli: 1000]
--indent-string=
Girinti birimi olarak kullanılan dize. Bu genellikle " " (4 boşluk) veya "" (1 sekme).
[akım: ' ']
--indent-after-paren=
Asılı veya devam eden bir satırda gerekli olan girinti boşluğu sayısı. [akım:
4]
--beklenen-satır-bitiş biçimi=
Beklenen satır sonu biçimi, örneğin boş (herhangi bir satır sonu), LF veya CRLF. [akım:
Yok]
İTHALAT
--deprecated-modüller=
Kullanılmaması gereken, virgülle ayrılmış, kullanımdan kaldırılmış modüller [geçerli:
regsub,TERMIOS,Bastion,rexec]
--import-graph=
Verilen dosyadaki her (yani dahili ve harici) bağımlılığın bir grafiğini oluşturun
(rapor RP0402 devre dışı bırakılmamalıdır) [geçerli: yok]
--ext-import-graph=
Verilen dosyada harici bağımlılıkların bir grafiğini oluşturun (rapor RP0402
devre dışı bırak) [geçerli: yok]
--int-import-graph=
Verilen dosyada dahili bağımlılıkların bir grafiğini oluşturun (rapor RP0402
devre dışı bırak) [geçerli: yok]
BENZERLİKLERİ
--min-benzerlik-çizgileri=
Bir benzerliğin minimum satır sayısı. [geçerli: 4]
--ignore-yorumlar=
Benzerlikleri hesaplarken yorumları görmezden gelin. [geçerli: evet]
--ignore-docstrings=
Benzerlikleri hesaplarken belge dizilerini yok sayın. [geçerli: evet]
--ignore-imports=
Benzerlikleri hesaplarken içe aktarmaları yoksay. [geçerli: hayır]
ÇEVRE DEĞİŞKENLER
Aşağıdaki ortam değişkenleri kullanılır:
* PILINTHOME
Çalıştırma için kalıcılığın depolanacağı dizinin yolu. Bulunmazsa,
varsayılan olarak ~/.pylint.d/ veya .pylint.d (geçerli çalışma dizininde).
* PİLINTRC
Yapılandırma dosyasının yolu. Aramak için kullanılan yöntemin belgelerine bakın
yapılandırma dosyası için
ÇIKTI
Varsayılan metin çıktısını kullanarak mesaj formatı şudur:
MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESAJ
5 tür mesaj türü vardır:
* (C) sözleşme, standart ihlali programlamak için
* (R) refactor, kötü kod kokusu için
* (W) uyarı, python'a özgü sorunlar için
* (E) hatası, koddaki olası hatalar için
* (F) ölümcül, pylint'in daha fazlasını yapmasını engelleyen bir hata meydana gelirse
işleme.
ÇIKTI DURUMU KOD
Pylint aşağıdaki durum koduyla ayrılmalıdır:
* 0 her şey yolunda giderse
* 1 önemli bir mesaj verildiyse
* 2 bir hata mesajı verildiyse
* 4 bir uyarı mesajı verildiyse
* 8, bir yeniden düzenleme mesajı verilmişse
* 16 bir kongre mesajı verildiyse
* 32 kullanım hatası
1'den 16'ya kadar olan durum bit-OR'lanacak, böylece hangi farklı kategorilerin yayınlandığını bilebilirsiniz
pylint çıktı durum kodunu analiz ederek
onworks.net hizmetlerini kullanarak pylint'i çevrimiçi kullanın