Bu kullanımı kolay komut satırı aracıyla kod tabanınızı baştan aşağı temizleyin.
Linting aracı, kodunuzdaki hataları ve tutarsızlıkları yakalamanıza yardımcı olabilecek değerli bir kaynaktır.
Flake8, Python için en popüler astarlama araçlarından biridir. Kullanılmayan içe aktarmalar gibi diğer sorunların yanı sıra kodunuzdaki sözdizimi ve biçimlendirme hatalarını tanımlar. Çok esnektir, çünkü varsayılan kuralları olmasına rağmen, gereksinimlerinize uyacak şekilde bunları değiştirebilir veya onlara ekleyebilirsiniz.
Flake8'i, VS Code kullanarak kodunuzdaki güncellemeleri kaydettiğinizde çalışacak şekilde de yapılandırabilirsiniz. Tüm bu özellikler, onu Python programları yazarken sahip olunması gereken değerli bir araç haline getirir.
Flake8'i Yükleme
Flake8'i geliştirme ortamınıza yüklemek için aşağıdaki adımları izleyin. ihtiyacın olabilir Pip'i makinenize kurun Birinci.
- Flake8'i kurmak için terminalinizde aşağıdaki komutu çalıştırın:
pip kurulumu pul8
- Aşağıdaki komutu çalıştırarak Flake8'in kurulduğunu doğrulayın:
pul8 --versiyon
- Flake8 doğru kurulursa, aşağıdakine benzer bir çıktı görmelisiniz:
4.0.1 (mcabe: 0.6.1, pycodestil: 2.8.0, pirzola: 2.4.0) CPython 3.9.13Açık
linux
Flake8'i başarıyla yükledikten sonra kullanmaya başlayabilirsiniz.
Python Kodunu Analiz Etmek İçin Flake8'i Kullanma
Flake8'in nasıl kullanılacağını anlamak için aşağıdaki kodla başlayın. Birkaç kasıtlı hatası var. adlı bir dosyaya kopyalayın. selamlama.py.
kesinselamlama(isim):
Yazdır("Merhaba, " + isim)
selamlama("Alice")
selamlama("Bob")
Flake8'i Tek Bir Dosyada Çalıştırma
Flake8'i tek bir dosya üzerinde çalıştırmak için sözdizimi aşağıdaki gibidir.
pul8 yolu/to/file.py
Bu örnekte, greting.py dosyasını içeren dizine gidin ve aşağıdaki komutu çalıştırın.
pul8 tebrik.py
Flake8, bir girinti hatası olduğunu gösteren aşağıdaki mesajı döndürmelidir.
selamlama.py:5:1: E999Girinti Hatası: beklenmedikgirinti
Bu çıktı, 5. satırın gereksiz yere girintili olduğunu gösterir. İle bu girinti hatasını düzeltin, bu satırın başındaki boşluğu kaldırmanız gerekir.
kesinselamlama(isim):
Yazdır("Merhaba, " + isim)
selamlama("Alice")
selamlama("Bob")
Artık Flake8'i çalıştırdığınızda aşağıdaki uyarıları alacaksınız.
selamlama.py:4:1: E305beklenen 2 boşlukçizgilersonrasındasınıfveyaişlevtanım, kurmak 1
selamlama.py:5:16: W292HAYIRYeni hatdesonile ilgilidosya
Bu çıktı aşağıdaki sorunları gösterir:
- 4. satırda, karşılama işlevi tanımından sonra iki boş satır olması gerekir, ancak yalnızca bir satır vardır.
- 5. satırda, dosyanın sonunda yeni bir satır olmalıdır.
Bu sorunları düzelttikten sonra, flake8 herhangi bir mesaj döndürmemelidir.
Şimdiye kadar yalnızca bir dosyayı analiz ettik ancak çoğu durumda birden fazla dosyayı analiz etmek isteyeceksiniz.
Flake8'i Birden Çok Dosyada Çalıştırma
Aradığınız başka biri olduğunu söyleyin test_greeting.py aşağıdaki kodu içeren:
itibaren selamlama içe aktarmak selamlama
kesintest_gret():
ileri sürmek selamlama("Alice") == "Merhaba Alice!"
Bu iki dosyayı analiz etmek için aşağıdaki komutu çalıştırın.
pul8 tebrik.py test_greeting.py
Bu yöntem işe yarar, ancak ikiden fazla dosyanız varsa, dosya adlarını yazmak yorucu ve hataya açık olabilir.
Geçerli dizindeki tüm dosyaları analiz etmek için aşağıdaki komutu kullanmak daha etkilidir:
pul8 .
Flake8 Hatalarını ve Uyarılarını Anlamak
Flake8 iki tür sorun bildirir:
- Hatalar: Bir hata, tebrik.py örneğindeki girinti hatası gibi kodunuzun çalışmasını engelleyen bir sözdizimi veya yapısal sorunu belirtir.
- Uyarılar: Bir uyarı, tebrik.py örneğindeki "dosyanın sonunda yeni satır yok" uyarısı gibi olası bir sorunu veya PEP 8 stil yönergelerinin ihlalini belirtir.
Yaygın hatalardan ve uyarılardan bazıları şunlardır:
- E101: girinti karışık boşluklar ve sekmeler içeriyor.
- E302: 2 boş satır bekleniyor, 0 bulundu.
- E999 IndentationError: beklenmeyen girinti.
- W291: sondaki beyaz boşluk.
- E501: satır çok uzun (maksimum 79 karakter).
- F401: modül alındı ancak kullanılmadı.
Flake8'i çalıştırdığınızda, yukarıda gösterilen gibi bir mesaj ve satır numarası ve mesajın referans verdiği kod konumu çıktısı verecektir. Bu, kodunuzun tam olarak nerede hata ayıklama süresinden tasarruf etmenizi sağlayan sorunları olduğunu bilmenize yardımcı olur.
Flake8'i Yapılandırma
Bazı projeler için Flake8'in kuralları çok katı olabilir. Bu durumlarda Flake8, onu yapılandırmanıza ve davranışını ihtiyaçlarınıza göre uyarlamanıza olanak tanır.
Aşağıdakiler gibi yapılandırma seçenekleri sağlayabilirsiniz:
- Belirli hataları veya uyarıları yok saymak.
- Maksimum hat uzunluğunu ayarlama.
- Ek kurallar belirleme.
Göstermek için setup.cfg adlı bir yapılandırma dosyası oluşturun. Yapılandırma seçeneklerini tox.ini veya .flake8 adlı bir dosyaya da ekleyebilirsiniz.
Bu dosyada, aşağıdaki gibi bir pul8 bölümü oluşturarak başlayın:
[pul8]
Ardından, yapılandırmak istediğiniz seçenekleri ekleyin:
[pul8]
maksimum satır uzunluğu = 100
yoksay = F401
Bu örnekte max-line-length = 100, Flake8'e kaynak kodu dosyalarınızda uzunluğu 100 karakteri aşan herhangi bir satır için uyarı vermesini söyler. yoksay = F401, Flake8'e kullanılmayan içe aktarmalarla ilgili hataları yoksaymasını söyler.
Bu seçenekleri bir yapılandırma dosyasına eklemenize gerek yoktur, çünkü bunları komut satırında şu şekilde belirtebilirsiniz:
pul8 --ignore E203 --maks satır uzunluğu 100
Bir yapılandırma dosyası kullanmak en iyi yaklaşımdır çünkü flake8'i her kullandığınızda aynı seçenekleri belirtmeniz gerekmez.
Flake8'i VS Kodunda Kullanma
Python uygulamanızı yazmak için VS Code kullanıyorsanız, siz yazarken Python dosyalarınızı dizmek için flake8 uzantısını kullanabilirsiniz.
Öncelikle, VS Code pazarından pul8 uzantısını yüklemeniz gerekir. Ardından, yapılandırmak için VS Code ayarlarını açın, ardından "python.linting.flake8Enabled" ifadesini arayın ve flake8 ile linting'i etkinleştirin.
Artık kodunuzda hataları ve uyarıları siz yazarken dalgalı bir çizgiyle vurgulanmış olarak görmelisiniz. Vurgulanan metnin üzerine gelindiğinde, sorunu açıklayan ve olası düzeltmeleri öneren bir mesaj görüntülenir.
Diğer Python IDE'leri Pycharm gibi, astarlama işlemini basitleştirmek için yapılandırabileceğiniz Flake8 uzantılarına da sahiptir.
Neden Linter Kullanmalısınız?
Kod yazarken, uygulamanızın başarısız olmasına veya performans sorunları yaşamasına neden olan hatalar ve tutarsızlıklar ortaya çıkarabilirsiniz. Flake8 gibi bir linter, bu sorunlardan bazılarını önceden yakalamanızı sağlayarak daha temiz kod yazmanıza yardımcı olur. Bunu geliştirme iş akışınıza entegre etmek çok önemlidir.
Bunu, onu metin düzenleyiciniz veya IDE'niz içinde kullanarak ve sürekli uygulamanıza entegre ederek yapabilirsiniz. kodunuzla birleştirmeden önce hata ve uyarılara karşı otomatik olarak kontrol etmek için entegrasyon boru hattı Ana dal.