Apabila bekerja dengan gelung, pengaturcara menghadapi pilihan yang halus: mengisytiharkan pembolehubah di dalam atau di luar skop gelung. Teka-teki ini telah mencetuskan perdebatan yang tidak berkesudahan, terutamanya mengenai kebimbangan prestasi yang berpotensi dan gaya pengekodan.
Pengaturcara Java sering tertanya-tanya tentang perbezaan ini. Sebagai contoh, pertimbangkan kod berikut:
<br>String str;<br>semasa (syarat) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">str = calculateStr(); .....
}
Kod ini mengisytiharkan pembolehubah "str" di luar gelung while, amalan yang secara amnya tidak menimbulkan kening. Walau bagaimanapun, rakan sejawatannya:
<br>sementara (syarat) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">String str = calculateStr(); .....
}
sering dibenderakan sebagai "berbahaya" atau "tidak betul." Apakah rasional di sebalik perlakuan yang berbeza ini?
Kuncinya terletak pada skop pembolehubah tempatan. Skop pembolehubah menentukan sejauh mana keterlihatannya dalam program. Di Java, pembolehubah yang diisytiharkan dalam blok mempunyai skop terhad kepada blok tersebut.
Untuk coretan pertama, "str" diisytiharkan di luar gelung, memberikannya skop yang merangkumi keseluruhan program. Ini mungkin kelihatan berfaedah, tetapi ia biasanya bukan amalan terbaik. Dengan mengehadkan skop "str" kepada gelung itu sendiri, coretan kedua memastikan bahawa ia hanya boleh diakses dalam konteks itu.
Mengapa ini penting? Ini soal kecekapan dan kejelasan.
Jadi, jawapannya adalah jelas: secara amnya adalah lebih baik untuk mengisytiharkan pembolehubah dalam gelung, bukannya di luar. Dengan mengikuti prinsip ini, anda boleh meningkatkan kecekapan kod, kebolehbacaan dan kebolehselenggaraan.
Atas ialah kandungan terperinci Patutkah Pembolehubah Gelung Diisytiharkan Di Dalam atau Di Luar Gelung di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!