Saya sering melihat proyek (dalam proyek dan tim Java menggunakan Eclipse) yang awalan dengan parameter fungsi p
.
Sebagai contoh
public void filter (Result pResult) ...
Saya pribadi tidak melihat adanya manfaat dalam hal ini, tetapi ingin tahu apa alasannya. Penjelasan terbaik yang pernah saya dengar adalah bahwa itu adalah untuk membedakan nama bidang bernama identik. Saya punya masalah dengan penjelasan itu tetapi saya bisa mengerti intinya.
sumber
struct
/union
dengan satu elemen.Seperti yang Anda duga, ini untuk menghindari tabrakan nama antara nama parameter dan nama variabel anggota atau lokal. Variabel anggota kadang-kadang diberi awalan untuk alasan yang sama (misalnya,
m_result
). Secara pribadi, saya lebih suka menggunakanthis
awalan untuk variabel anggota jika ada tabrakan nama. Itu dibangun ke bahasa dan semua orang sudah tahu apa artinya.sumber
Saya hanya menggunakan awalan parameter ketika parameter dimaksudkan untuk ditugaskan ke variabel anggota, seperti konstruktor atau penyetel.
Bagi saya, saya menemukan bahwa menggunakan nama variabel yang berbeda lebih jelas daripada menggunakan awalan "ini".
Untuk situasi lain, saya menghindari menggunakan parameter yang dapat dengan mudah dikacaukan dengan variabel anggota.
Jika suatu metode atau kelas sangat besar sehingga sulit untuk mengatakan apa arti variabel, solusi sebenarnya adalah memecahnya menjadi metode / kelas yang lebih kecil. Menggunakan awalan adalah solusi bantuan-band yang mengatasi masalah mendasar.
sumber
Paint (clr) { color = clr; }
). ... Biasanya tidak ada banyak ambiguitas, meskipuncolor -> clr
secara khusus mungkin pengecualian.Jika Anda membuat standar untuk menggunakan 'p' sebagai awalan dengan setiap nama parameter metode, Anda dapat dengan mudah mengenali parameter metode di seluruh tubuh metode.
Menghemat waktu Anda untuk menemukan parameter metode. Anda dapat men-debug kode Anda dengan mudah.
sumber
Pendek - Praktek ini membuat kode lebih sulit dibaca.
Lama - saya akan berpendapat ini adalah praktik buruk yang hanya digunakan untuk mendukung praktik buruk lainnya. Mari kita periksa beberapa alasan mengapa menggunakan awalan seperti itu dapat dianggap bermanfaat:
Menghindari tabrakan dalam nama variabel
public void setHeight(int newHeight) { this.height = newHeight; }
Metode mengambil banyak params, mendeklarasikan banyak variabel dan kita bisa dengan mudah lupa yang mana adalah parameter.
Kecuali beberapa kasus tertentu menambahkan awalan parameter hanya membantu dengan gejala dan tidak memecahkan masalah yang sebenarnya.
sumber
Saya penggemar iParam untuk in, dan oParam untuk parameter keluar. Saya akan mengatakan cParam untuk perubahan, tetapi itu tidak dapat diterima
sumber