'var' adalah tentang menjadi jelas
Perdebatan utama tentang apakah menggunakan var
kata kunci atau tidak adalah tentang seberapa mudah dibaca kode untuk Anda dan pengembang lainnya.
Sama seperti jika Anda sedang menulis cerita, tidak ada jawaban benar yang pasti. Tapi mari kita lihat beberapa contohnya dalam bahasa Inggris.
Jake menyapa Bill. Dia tidak menyukainya, jadi dia berbalik dan pergi ke arah lain.
Siapa yang pergi sebaliknya? Jake atau Bill? Dalam hal ini menggunakan nama "Jake" dan "Bill" seperti menggunakan nama tipe. Dan "Dia" dan "dia" seperti menggunakan var
kata kunci. Dalam hal ini mungkin membantu untuk lebih spesifik. Contoh berikut ini jauh lebih jelas.
Jake menyapa Bill. Jake tidak menyukai Bill, jadi ia berbalik dan pergi ke arah lain.
Dalam hal ini menjadi lebih spesifik membuat kalimat menjadi lebih jelas. Tapi itu tidak selalu terjadi. Dalam beberapa kasus menjadi spesifik membuatnya lebih sulit untuk dibaca.
Bill suka buku, jadi Bill pergi ke perpustakaan dan Bill mengeluarkan buku yang selalu disukai Bill.
Dalam hal ini akan lebih mudah untuk membaca kalimat jika kita menggunakan "he" dan dalam beberapa kasus ditinggalkan namanya bersama-sama, yang setara dengan menggunakan var
kata kunci.
Bill suka buku, jadi dia pergi ke perpustakaan dan mengeluarkan buku yang selalu dia sukai.
Contoh-contoh itu mencakup intinya, tetapi mereka tidak menceritakan keseluruhan cerita. Dalam contoh-contoh itu hanya ada satu cara untuk merujuk orang tersebut. Baik dengan menggunakan nama mereka atau dengan menggunakan istilah yang lebih umum seperti "dia" dan "dia".
Dalam hal kode, kami memiliki 3 cara untuk membantu menambah kejelasan. Jenis, nama variabel, dan penugasan. Ambil baris kode ini misalnya:
Person p = GetPerson();
Pertanyaannya sekarang adalah apakah ada cukup informasi dalam baris kode itu untuk membantu Anda mengetahui apa yang terjadi?
Bagaimana dengan baris kode berikut? Apakah Anda masih tahu apa p
artinya dalam hal ini:
var p = GetPerson();
Bagaimana kalau sekarang:
var p = Get();
Atau sekarang:
var person = Get();
Atau yang ini:
var t = GetPerson();
Atau ini:
var u = Person.Get();
Apakah kata kunci var
berfungsi dalam skenario yang diberikan tergantung banyak pada konteks kode, seperti bagaimana variabel, kelas, dan metode diberi nama. Ini juga tergantung pada kompleksitas kode dan sisa kode di sekitarnya.
Secara pribadi saya suka menggunakan var
kata kunci itu lebih komprehensif bagi saya sebagian besar waktu. Tapi saya juga cenderung memberi nama variabel saya setelah tipe jadi saya tidak benar-benar kehilangan informasi.
Yang mengatakan kadang-kadang tergantung pada konteks saya membuat pengecualian, seperti sifat dari sesuatu yang kompleks, dan perangkat lunak tidak ada artinya jika tidak kompleks.