Python kodlama standartları / en iyi uygulamalar [kapalı]


116

Python'da kodlama standartlarınız / yönergeleriniz olarak genellikle PEP 8 - Python Kodu için Stil Kılavuzu kullanıyor musunuz? Tercih ettiğiniz başka resmi standartlar var mı?


1
//, "İzleyici tercihlerinin" talep edilmesi ilk başta zararsız görünebilir, ancak yığın taşmasını bir yoklama mekanizmasına, azınlığın çoğunluğa karşı sapkın bir demokrasisine dönüştürür. "Tercih ettiğiniz başka ________ var mı?" kelimenin tam anlamıyla onlardan bir tercih istemektir, gerçek değil.
Nathan Basanese

Yanıtlar:


150

"Python'da kodlama standartlarınız / yönergeleriniz olarak genellikle PEP 8 - Python Kodu için Stil Kılavuzu kullanıyor musunuz? Tercih ettiğiniz başka resmi standartlar var mı?"

Sizin de belirttiğiniz gibi , ana metin için PEP 8'i ve dokümantasyon kuralları için PEP 257'yi izleyin.

Python Stil Kılavuzları ile birlikte aşağıdakilere bakmanızı öneririm:

  1. Bir Pythonista Gibi Kod: Deyimsel Python
  2. Yaygın hatalar ve siğiller
  3. Python kodu nasıl yazılmaz
  4. Python gotcha


8

PEP-8'e çok yakından bağlıyım.

PEP-8'e değiştirmekten rahatsız olamayacağım üç özel şey var.

  • Hemen parantez, parantez veya kaşlı ayraç içinde gereksiz boşluklardan kaçının.

    Önerildi: spam(ham[1], {eggs: 2})

    Bunu yine de yapıyorum: spam( ham[ 1 ], { eggs: 2 } )

    Neden? 30 yılı aşkın yerleşik alışkanlık, () 'i işlev adlarına veya (C'de) ifadeler anahtar kelimelerine karşı sıkı sıkıya sarıyor. 70'lerde Fortran IV ile başlıyor.

  • Aritmetik operatörlerin etrafındaki boşlukları kullanın:

    Önerildi: x = x * 2 - 1

    Bunu yine de yapıyorum: x= x * 2 - 1

    Neden? Gries'in Programlama Bilimi, bunu, atama ile durumu değiştirilen değişken arasındaki bağlantıyı vurgulamanın bir yolu olarak önerdi.

    Birden çok atama veya artırılmış atama için iyi çalışmıyor, çünkü çok sayıda alan kullanıyorum.

  • İşlev adları, yöntem adları ve örnek değişken adları için

    Önerilen: okunabilirliği iyileştirmek için gerektiği şekilde alt çizgilerle ayrılmış sözcüklerle küçük harf.

    Bunu yine de yapıyorum: camelCase

    Neden? 80'lerde Pascal ile başlayan, 20 yıldan fazla bir süredir camelCase'in kökleşmiş alışkanlığı.


1
Bu harika bir içerik! codingstyleguide.com veya codereview.stackexchange.com , bu harika yönergelere sahip olmak için güzel bir yer olacaktır.
Pompeyo

5

PEP 8 iyidir, daha sert olmasını dilediğim tek şey Tabs-vs-Spaces kutsal savaşıydı.

Temel olarak, python'da bir projeye başlıyorsanız, Tabs veya Spaces'ı seçmeniz ve ardından tüm suçluları görünürde vurmanız gerekir.


4
Sekmeler mi Boşluklar mı? PEP8'den: Boşluklar tercih edilen girinti yöntemidir. Sekmeler, yalnızca zaten sekmelerle girintili olan kodla tutarlı kalmak için kullanılmalıdır.
The Demz

//, PEP8 boşlukların tercih edilen girinti yöntemi olduğu konusunda oldukça açık Ryan. Downvoted. Yine de cevabı günceller miydi?
Nathan Basanese


4

Onu son derece titizlikle takip ediyorum. PEP-8'den önceki tek tanrı, mevcut kod tabanlarıdır.


1
ve PEP-8'in mevcut kod tabanlarını bile hesaba kattığını not ediyorum.
John Mulder

2

Evet, olabildiğince yakından takip etmeye çalışıyorum.

Başka kodlama standartlarına uymuyorum.


1

PEP8'i takip ediyorum, harika bir kodlama stili parçası.

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.