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 phoneseseorang, atau Anda dapat memiliki phonedi 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 Batteryadalah objek, dan itu Chargeadalah keadaan. Jadi itu akan menjadi properti dari objek, tetapi ini tergantung pada konteks bagaimana itu digunakan.
Jika Anda harus dapat Chargemenggunakan 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 Chargeadalah 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 Batterydapat mencakup Charging, Discharging, setCharge, getCharge, hasCharge, Dischargedan Charged.
Metode sederhana satu kata seringkali tidak secara eksplisit menyatakan tindakan mereka, tetapi ada beberapa kasus seperti opendan di closemana 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.