ProgramlamaPython Takım Lideri

Python'da isimlendirme sözleşmeleri (PEP8 vb.) hakkında bilgi verin. Bu sözleşmelere uyulmamasının kodla çalışma pratiğine nasıl etkileri vardır? PEP8'in ihlalinin projelerdeki gerçek sonuçlarına örnekler verin.

Hintsage yapay zeka asistanı ile mülakatları geçin

Cevap.

Python'da, kod stili için birçok sözleşme bulunmaktadır, bunlardan en önemlisi PEP8:

  • Değişkenler/fonksiyonlar için isimler: lower_case_with_underscores
  • Sınıf isimleri: CapitalizedCamelCase
  • Sabitler: ALL_CAPS
  • Satır uzunluğu: 79 karaktere kadar
  • Girintiler: 4 boşluk (tab değil!)
  • Operatörlerin etrafında boşluklar: a = b + c
  • İçe aktarmalar: her içe aktarma ayrı bir satırda, önce standart kütüphaneler, sonra üçüncü taraflar, en son yerel kütüphaneler

PEP8'e uymak, ekip işini kolaylaştırır, okunabilirliği artırır, girişi düşürür, test otomasyonunu basitleştirir vb.


Kandırmaca Soru.

PEP8, tek harfli değişken isimleri kullanılmaması önerilir. Ancak, list comprehension veya lambda içinde kısa isimler kullanılabilir mi? Neden?

Cevap: Temel durumda kısa iterasyonlar (örneğin, list comprehensions içindeki x, i, j gibi işaretçi değişkenler) için tek harfli isimlerin kullanılması uygundur, böylece kısa ifadeleri karıştırmamış oluruz. Karmaşık ifadeler için daha anlamlı isimler vermek daha iyidir.

Örnek:

# Uygun: squares = [x**2 for x in numbers] # Daha iyi: squares = [number**2 for number in numbers]

Konuyla ilgili bilgi eksikliğinden kaynaklanan gerçek hata örnekleri.


Hikaye 1

Bir bankacılık projesinde, bazı fonksiyonlar ve parametrelerin farklı geleneklerle (CamelCase, snake_case, tire ile) adlandırıldığını gördük. Ekibe yeni katılan bir takım üyesi, isimlerin nerelerde kullanıldığını karıştırıyordu — çakışmaların giderilmesi ve değişkenlerin yeniden adlandırılması neredeyse iki hafta sürdü.


Hikaye 2

Bir veri mühendisliği projesinde girintilere uyulmadı, tablar ve boşluklar karıştırıldı. Bu, farklı geliştirme istasyonlarında SyntaxError'a yol açtı ve bazı geliştiriciler fazla boşlukları bulmak için saatler harcadı.


Hikaye 3

Büyük bir eğitim portalında kısa ve uzun değişken isimleri karıştırıldı. Örneğin, günlükleri işlemek için bir fonksiyon l() olarak adlandırıldı, ancak giriş işleyici — long, bu birçok IDE'de gezinmek için çok zaman aldı ve liste içindeki l öğesi ile fonksiyonun kullanımında karışıklığa neden oldu.