Örtük ve açık satır birleştirmeye yönelik öneriler


9

Ben yaklaşık öneriler bilmek istiyorum Örtülü Hattı Katılma karşı Katılma Açık Hat Python.

Özellikle, bir formu diğerine tercih eder misiniz? Genel varsayılan olarak ne önerirsiniz? Birini diğerinden seçmek için hangi kriterleriniz var ve birini tercih ediyorsanız, diğeri için ne zaman istisnalar yapıyorsunuz?

Bu soru için kendi önyargılarımı yansıtan bir cevabım var, ama kendi cevabımı göndermeden önce başkalarının ne düşündüğünü bilmek istiyorum ... ve aklımdakilerden daha iyi bir kriter kümeniz varsa, o zaman kesinlikle cevabımı kendim kabul edeceğim.

Tavsiyelerin bazıları bu seçeneğe diğer programlama dillerinde genelleştirilebilir, ancak bazı eğilimlere özgü özellikler nedeniyle kendi önyargım Python'da biraz daha güçlüdür, bu yüzden hem genel hem de Python merkezli mantığı bilmek isterim bu konuda var.

Bir arka plan için, tartışma yığın akışı ile ilgili belirli bir soru etrafında gerçekleşti , ancak konu dışı saptığı için SO'daki cevabı bu teğetle karıştırmaktan kaçınmak için tartışmayı buraya bir soru olarak taşımanın daha uygun olduğunu düşündüm. orijinal soru. Tartışmayı başlatan örnek kod parçacıkları için bu soruya ve cevaplarına bakabilirsiniz.

İşte basitleştirilmiş bir örnek:

join_type = "explicit"
a = "%s line joining" \
    % (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
     % (join_type))

En iyi uygulama soruları kod incelemesi için konu dışıdır. Sorunuzu daha iyi bir yere taşıdım.
Winston Ewert

1
@WinstonEwert Ben göndermeden önce CodeReview SSS ve Programcılar SSS iyi bir göz attım ve açıkça sormak soruları "kodunuzda en iyi uygulamalar ve tasarım deseni kullanımı" içerdiğini açık çünkü çünkü CodeReview seçti. Söz konusu kodun basitleştirilmiş bir sürümünü ekledim, bu yüzden bu konu nasıl?
aculich

Ben bir soru gönderdiniz @WinstonEwert Meta netleştirilmesi konusunda CodeReview SSS oraya bu konuda yorumun ilgileniyorsan.
aculich

Yanıtlar:


8

PEP8 adlı bir kodlama stili belgesi var. \<NL>Parantezin kullanılabileceği her yerde kullanılmamasını önerir .

Uzun çizgileri sarmanın tercih edilen yolu, Python'un parantezler, parantezler ve parantezler içindeki zımni çizgi devamını kullanmaktır. Uzun satırlar, ifadeleri parantez içinde sararak birden çok satır üzerinde kesilebilir. Bunlar hattın devamı için ters eğik çizgi kullanılmasına tercih edilmelidir. Devam eden satırı uygun şekilde girintili yaptığınızdan emin olun. İkili bir operatörün çevresinde kırılmak için tercih edilen yer , operatörden önce değil, operatörden sonradır .

Tam metin: http://www.python.org/dev/peps/pep-0008/ (bölüm Kod Düzeni)

Zorunlu değildir, ancak ekibinizde birden fazla Python komisyoncunuz varsa özellikle yararlı olan kabul edilebilir iyi uygulamaları tanımlar.


1

Örtülü satır birleştirmeyi kullanma eğilimindeyim çünkü daha okunabilir buluyorum ve editörlerden gelen destek parantez eşleşmesi sayesinde tüm ifadenin girintisi ve vurgulanması açısından genellikle daha iyi.


0

Şu anda tercih ederim

join_type = "kiding"
a = "%s line joining" % (join_type)

B-))

.

Açık Çizgiler Birleştirmeyi tercih ediyorum çünkü ifadelerin sonunda ebeveynlerin kargaşasını sevmiyorum.
Ama örtük çizgiler bir dizenin yazma tarafından işgal genişliğini azaltmak için birleştirme gibi.
Sonra bazı durumlarda, iki yolu karıştırmamaktan utanıyorum


1
Tüm şaka bir yana, daha fazla yazmayı gerektirir ve kod düzenlendiğinde tüm ters eğik çizgileri düzgün bir şekilde dizilmiş tutmak zor çünkü açık katılmadan sevmiyorum.
martineau

Görünüşe göre @eyquem hiç bir LISP
yazmamış
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.