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ı?
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ı?
Yanıtlar:
"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:
Rob Knight tarafından yazılan Python Deyimler ve Verimlilik yönergelerini takip ediyorum . Bence PEP 8 ile tamamen aynı, ancak daha sentetik ve örneklere dayanıyorlar.
WxPython kullanıyorsanız , Chris Barker tarafından yazılan wxPython kodu için Stil Kılavuzuna da göz atmak isteyebilirsiniz .
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ığı.
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.
Bhadra'nın deyimsel kılavuzlar listesine eklemek için :
Anthony Baxter'in Etkili Python Programlama hakkındaki sunumunu inceleyin (OSON 2005'ten itibaren)
Bir alıntı:
# dict's setdefault method turns this:
if key in dictobj:
dictobj[key].append(val)
else:
dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)
Onu son derece titizlikle takip ediyorum. PEP-8'den önceki tek tanrı, mevcut kod tabanlarıdır.