Saya sudah diajari sejak SMA yang mendefinisikan variabel seperti ini:
int _a;
atau
int __a;
harus dianggap praktik buruk karena ini pada akhirnya akan membuat kompiler teka-teki yang menggunakan variabel yang dimulai dengan garis bawah untuk memberi nama variabel sementara.
Sejauh yang saya tahu ini adalah alasan mengapa beberapa orang suka memindahkan garis bawah pada akhir nama, seperti:
int a_;
Namun, saya melihat banyak kode di sekitar yang menggunakan variabel underscore-starting. Dan kode itu dibangun dengan cukup baik dengan Visual Studio 2010 dan g ++ 4.x.
Jadi saya bertanya-tanya: apakah ini bukan masalah saat ini? Apakah kompiler modern lebih pintar tentang konvensi penamaan?