2016-04-08 29 views
6

Değişkenler için adlandırma kurallarında sık sık biraz tutarsızım ve sadece insanların en iyi yaklaşım olarak düşündüklerini merak ediyorum. Bahsettiğim özel kural, bir değişkenin bir isim ve sıfatla tanımlanması ve sıfatın addan önce mi sonra mı gelmesi gerektiğidir. Kişisel olarak C++ ve Python kullanıyor olsam da, soru tüm programlama dillerinde geneldir. Örneğin, iki düğmeli bir GUI yazmayı düşünebilirsiniz; biri sağda, diğeri solda. Şimdi bunları depolamak için iki değişken oluşturmam gerekiyor. Bir seçenek, addan önce sıfıra sahip olmak ve left_button ve right_button olarak adlandırılmalıdır. Diğer seçenek, addan sonra sıfıra sahip olmak ve button_left ve button_right olarak adlandırmak olacaktır. İlk durumda, yüksek sesle okurken daha anlamlı olur, çünkü İngilizce'de her zaman sıfatını adın önüne yerleştirirsiniz. Bununla birlikte, ikinci durumda, verilerin anlamsal olarak yapılandırılmasına yardımcı olur, çünkü button değişken hakkında en fazla bilgiyi gösterir ve left veya right tamamlayıcı bilgidir.Değişken adların addan önce veya sonra sıfatları olmalı mı?

Peki siz ne düşünüyorsunuz? Sıfat, veya 'dan önce , isminden sonra gelir mi? Yoksa tamamen öznel midir?

+1

Bu konu hakkında başkalarının ne söylediğini duymak isterim ... FWIW, tutarlılığın bir sözleşmeden daha önemli olduğunu düşünüyorum; en kötü durum 'button_right'ın yanında bir 'left_button' olurdu ... –

+1

Şahsen ben sıfat, e, g sonra kullandım. 'Button_left'. Bunun için bir özellik eklemek istediğimde, şunu ekleyebilirim, örn. 'Button_left_width'. Sesli söyleyerek garip geliyor ama kod okurken daha anlaşılır. – Karnivaurus

+1

@Karnivaurus Ayrıca adından sonra sıfat kullanıyorum çünkü inteli sense ile özellikle çok olduklarında doğru olanı bulmak daha kolay. Düğme yazarak filtrelenmiş değişken listesi alırsınız ve bildirdiğiniz düğmeleri görebilirsiniz. Qt-Creator kullanıyorum. – Radek

cevap

2

Addan önce sıfat yazmanın daha yaygın olan şey olduğunu düşünüyorum. Ama bir saniye düşünürseniz, kodunuzu okurken isimden sonra yazmak daha kolaydır. Sıfat, ismin bir özelliği olarak kolayca görülebilir. Mantıksal bir düşünme biçiminde, bu benim görüşüme göre daha iyi bir yol.

4

noun_adj kullanmayı denedim, çünkü işlevler için kullandığım şeye uyuyor. Ben işlevleri yazarken ben mesela verb_noun_adj kullanma eğiliminde:

def get_button_id(): 
    """Get id property of button object.""" 
    pass 

Bu benim için okur sizin burada ne alıyorsanız tam olarak net değildir biraz daha açıkça get_id_button çünkü; button.id oluyor ya 'id' ya da belki başka bir şey denilen bir düğme oluyor? Bu ismi biraz daha açık bir şekilde genişletmedikçe, get_id_of_button gibi sizin için biraz fazla verim olabilir.

Burada yaptığım şeye karşı muhtemelen geçerli bir argüman var, ama en azından çılgınlığımda tutarlı mıyım?

+0

Madness? Bunu mu demek istediniz: Saneness Upped! ;) –

İlgili konular