Jawaban terlambat, tapi saya pikir itu menambah sesuatu yang baru untuk topik ini.
Tidak ada jawaban sebelumnya yang menjawab pertanyaan awal. Beberapa telah berusaha untuk membenarkan kurangnya konstanta, sementara yang lain telah menunjukkan cara di mana kita dapat menangani kekurangan konstanta. Tetapi tidak ada yang memberikan pembenaran yang meyakinkan untuk kepentingan konstanta, sehingga kekurangannya masih belum dijelaskan dengan baik.
Konstanta akan berguna karena akan mencegah kesalahan kode tertentu dari tanpa disadari.
Katakanlah Anda memiliki basis kode besar dengan ratusan referensi ke "". Seseorang memodifikasi salah satu dari ini sambil menggulir kode dan mengubahnya menjadi "". Perubahan seperti itu akan memiliki peluang besar untuk tidak diketahui dalam produksi, pada titik mana hal itu dapat menyebabkan beberapa masalah yang sumbernya sulit dideteksi.
OTOH, konstanta pustaka yang bernama KOSONG, jika mengalami kesalahan yang sama, akan menghasilkan kesalahan kompilator untuk sesuatu seperti EM PTY.
Menentukan konstanta Anda sendiri masih lebih baik. Seseorang masih dapat mengubah inisialisasi karena kesalahan, tetapi karena penggunaannya yang luas, dampak kesalahan seperti itu akan jauh lebih sulit untuk diketahui tanpa kesalahan daripada kesalahan dalam kasus penggunaan tunggal.
Ini adalah salah satu manfaat umum yang Anda dapatkan dari menggunakan konstanta alih-alih nilai literal. Orang biasanya menyadari bahwa menggunakan konstanta untuk nilai yang digunakan di banyak tempat memungkinkan Anda dengan mudah memperbarui nilai itu hanya di satu tempat. Apa yang jarang diakui adalah bahwa ini juga mencegah nilai dari modifikasi yang tidak disengaja, karena perubahan seperti itu akan terlihat di mana-mana. Jadi, ya, "" lebih pendek dari KOSONG, tetapi KOSONG lebih aman untuk digunakan daripada "".
Jadi, kembali ke pertanyaan awal, kita hanya bisa berspekulasi bahwa perancang bahasa mungkin tidak menyadari manfaat menyediakan konstanta untuk nilai-nilai literal yang sering digunakan. Mudah-mudahan, suatu hari nanti kita akan melihat konstanta string ditambahkan di Jawa.
outputBlah = ""
, dan ia mungkin lebih sukasomething == String.Empty
lebihsomething.Length > 0
juga (Anda melewatkan cek nol.)