Apa konvensi penamaan untuk konstanta Scala? Pencarian singkat di StackOverflow menyarankan CamelCase huruf besar (baris pertama di bawah), tetapi saya ingin memeriksa ulang.
val ThisIsAConstant = 1.23
val THIS_IS_ANOTHER_CONSTANT = 1.55
val thisIsAThirdConstant = 1.94
Gaya Scala mana yang direkomendasikan?
scala
naming-conventions
constants
grautur.dll
sumber
sumber
Pi
).Jawaban:
Gaya yang direkomendasikan secara resmi (dan maksud saya secara resmi) adalah gaya pertama, casing unta dengan huruf pertama adalah huruf besar. Ini ditetapkan dengan jelas oleh Odersky tentang Pemrograman di Scala.
Gaya juga diikuti oleh pustaka standar, dan memiliki beberapa dukungan dalam semantik bahasa: pengenal yang dimulai dengan huruf besar diperlakukan sebagai konstanta dalam pencocokan pola.
(Bagian 6.10, p.107 dalam edisi kedua)
sumber
(Ini adalah komentar tambahan untuk jawaban Daniel, tapi saya mempostingnya sebagai jawaban untuk kepentingan penyorotan dan pemformatan sintaks.)
Poin Daniel tentang gaya menggunakan huruf kapital awal yang penting dalam semantik bahasa lebih halus dan penting daripada yang semula saya berikan ketika saya belajar Scala.
Perhatikan kode berikut:
Secara naif, saya mengharapkan itu untuk mencapai semua kasus dalam pertandingan. Sebagai gantinya mencetak:
Apa yang terjadi adalah
case Some(lowerConst)
bayangan vallowerConst
dan membuat variabel lokal dengan nama yang sama yang akan diisi setiap kaliSome
string yang mengandung dievaluasi.Memang ada cara untuk mengatasinya, tetapi yang paling sederhana adalah mengikuti panduan gaya untuk penamaan yang konstan.
Jika Anda tidak dapat mengikuti konvensi penamaan, seperti yang ditunjukkan @reggoodwin pada komentar di bawah, Anda dapat meletakkan nama variabel di tanda centang, seperti itu
sumber
val UpperConst = "UPPER_CONST"
oke atau seharusnyaval UpperConst = "UpperConst"
sumber
UpperConst = "UPPER_CONST"
seperti bagian java-style oke atau seharusnyaval UpperConst = "UpperConst"