Mengapakah disyorkan untuk mengutamakan pemalar dalam pernyataan "jika"?
P粉066224086
P粉066224086 2024-03-25 18:17:36
0
2
486

Saya sedang melihat beberapa contoh kod C++ untuk antara muka perkakasan yang saya gunakan dan melihat banyak kenyataan yang serupa dengan:

if ( NULL == pMsg ) return rv;

Saya pasti saya pernah mendengar orang berkata bahawa mendahulukan pemalar adalah idea yang baik, tetapi mengapa? Adakah ini hanya supaya anda boleh melihat dengan cepat apa yang anda bandingkan jika anda mempunyai kenyataan yang besar atau adakah terdapat lebih daripada itu?

P粉066224086
P粉066224086

membalas semua(2)
P粉226667290

Menghalang anda daripada menulis:

if ( pMsg = NULL ) return rv;

Dilanggar secara tidak sengaja. Walau bagaimanapun, pengkompil yang baik akan memberi amaran kepada anda tentang perkara ini, jadi kebanyakan orang tidak akan menggunakan cara "const-first" kerana mereka mendapati sukar untuk membaca.

P粉180844619

Dengan cara ini tiada kekeliruan antara perbandingan (==) dan tugasan (=).

Seperti yang anda ketahui, anda tidak boleh menetapkan kepada pemalar. Jika anda mencuba, pengkompil akan memberi anda ralat.

Pada asasnya, ini adalah teknik pengaturcaraan defensif. Untuk melindungi diri anda daripada diri sendiri.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan