Sabit için adlandırma kurallarına gidin


117

constGolang'daki isimler için bir adlandırma kuralı olup olmadığını belirlemeye çalışıyorum .

Kişisel olarak C stilini takip etme ve onları büyük harflerle yazma eğilimindeyim, ancak bu sayfada http://golang.org/doc/effective_go.html dil için bazı adlandırma kurallarını listeleyen bir şey bulamadım .


5
FOO_BAR_BAZOkunabilirlik için sabitler yazmak isterdim , ancak maalesef bu sabitin görünürlüğünü etkiler ve yaygın değildir. Gururumu bir kenara bırakıp, beğenmesem bile kongreyi kabul etmek zorunda kaldım.
byxor

Yanıtlar:


131

Standart kitaplık deve kasası kullanır, bu yüzden bunu da yapmanızı tavsiye ederim. Sabiti dışa aktarmak isteyip istemediğinize bağlı olarak ilk harf büyük veya küçük harftir.

Birkaç örnek:

  • md5.BlockSize
  • os.O_RDONLY doğrudan POSIX'ten ödünç alındığı için bir istisnadır.
  • os.PathSeparator

7
constÖğenizin başka paketlere maruz kalmasını isteyip istemediğinizi belirlemeniz de önemlidir . Kullanırsanız UpperCamelCaseveya ALL_CAPSpaketinizin dışına ihraç edeceksiniz. Bu nedenle, lowerCamelCaseözel sabit değişkenlere bağlı kalıyorum ve bu öneriyi Go projesine nispeten yakın birinden (veya belki de resmi belgelerde - nerede olduğunu unutuyorum) okuduğumu hatırlıyorum.
weberc2

81

Kod İnceleme Yorumlarına Git

Bu sayfa, Go kodunun gözden geçirilmesi sırasında yapılan genel yorumları toplar, böylece kısayollar ile tek bir ayrıntılı açıklamaya başvurulabilir. Bu, bir stil kılavuzu değil, yaygın hataların bir çamaşır listesi.

Bunu http://golang.org/doc/effective_go.html'ye ek olarak görüntüleyebilirsiniz .

Karışık Kapaklar

Bkz. Http://golang.org/doc/effective_go.html#mixed-caps . Bu, diğer dillerdeki kuralları çiğnese bile geçerlidir. Örneğin, dışa aktarılmayan bir sabit maxLength, MaxLength veya MAX_LENGTH değildir.


Etkili Git

MixedCaps

Son olarak, Go'daki kural, çok kelimeli adlar yazmak için alt çizgi yerine MixedCaps veya mixedCaps kullanmaktır.


Go Programlama Dili Spesifikasyonu

Dışa aktarılan tanımlayıcılar

Başka bir paketten erişime izin vermek için bir tanımlayıcı ihraç edilebilir. Her ikisi de geçerliyse bir tanımlayıcı dışa aktarılır:

  • tanımlayıcının adının ilk karakteri bir Unicode büyük harftir (Unicode sınıfı "Lu"); ve

  • tanımlayıcı paket bloğunda bildirilir veya bir alan adı veya yöntem adıdır.

Diğer tüm tanımlayıcılar dışa aktarılmaz.


Karışık büyük harfler kullanın.


12

Belirli örnekler. Sabitte türü bildirmenin (uygun olduğunda) derleyiciye yardımcı olabileceğini unutmayın.

// Only visible to the local file
const localFileConstant string = "Constant Value with limited scope"

// Exportable constant
const GlobalConstant string = "Everyone can use this"
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.