Hindari Makna Ganda
Anda telah dengan sengaja memilih kata yang memiliki lebih dari satu makna, dan keputusan pertama adalah masalahnya. Ada banyak kata yang bermasalah untuk programmer. Contoh lain adalah phone
. Anda dapat phone
seseorang, atau Anda dapat memiliki phone
di saku Anda.
Gunakan Getters and Setters
Penamaan standar untuk sebagian besar objek adalah metode getter / pengaturan untuk properti.
Battery.Charge // would be a property
Battery.setCharge(value) // would set the property
Battery.getCharge() // would get the property
Properti Adalah Negara Bukan Kata Benda
Saya pikir Anda salah dengan mengklasifikasikan properti objek sebagai kata benda, dan variabel juga bisa dianggap negara. Mereka adalah negara yang relevan dengan ruang lingkup lokal keberadaan mereka.
Anda bisa menggambarkan nilai yang mereka pegang sebagai kata benda, tapi saya tidak yakin itu benar dalam semua kasus.
Dalam OOP terminologi, properti objek menggambarkan keadaan objek itu. Dalam kasus Anda ini Battery
adalah objek, dan itu Charge
adalah keadaan. Jadi itu akan menjadi properti dari objek, tetapi ini tergantung pada konteks bagaimana itu digunakan.
Jika Anda harus dapat Charge
menggunakan baterai, dan juga tahu apa arusnya Charge
, maka Anda memiliki masalah.
Menggunakan Lingkup Untuk Memberlakukan Konteks
Konteks adalah apa yang akan menjelaskan arti kata yang Anda maksudkan metode atau properti untuk disampaikan. Lingkup adalah mengatur aksesibilitas properti / metode dari luar objek.
Batter._charge // a hidden private property
Battery.setCharge(value) // would set the private property
Battery.getCharge() // would get the private property
Battery.Charge() // would perform the Charge action
Metode adalah kata kerja
Anda bisa menggambarkan metode suatu objek sebagai kata kerja, tetapi kata action lebih cocok. Dalam terminologi OOP Anda melakukan tindakan terhadap objek menggunakan metode mereka. Ini bentuk yang buruk untuk mengubah properti objek dari luar objek. Lebih disukai memanggil metode yang melakukan tindakan yang diperlukan yang menyebabkan statusnya berubah.
Kata itu Charge
adalah kata kerja, tetapi juga kata benda. Ketika digunakan untuk memanggil metode tindakan, menjadi jelas bahwa kata kerja sedang digunakan Battery.Charge(....)
.
Tapi, konteks itu sangat penting. Meskipun kata Charge()
itu kata kerja, itu tidak bermakna startCharging()
.
Metode yang valid untuk Battery
dapat mencakup Charging
, Discharging
, setCharge
, getCharge
, hasCharge
, Discharge
dan Charged
.
Metode sederhana satu kata seringkali tidak secara eksplisit menyatakan tindakan mereka, tetapi ada beberapa kasus seperti open
dan di close
mana sedikit penjelasan diperlukan.
Jadi sebenarnya tidak ada jawaban yang benar tentang bagaimana menamai jenis properti / metode ini. Kecuali bahwa Anda perlu menggunakan teknik di atas dengan bijak untuk memastikan tidak ada kebingungan.