මෙය "නිල" භාවිත අවස්ථාවදැයි මම නොදනිමි, නමුත් පහත දැක්වෙන්නේ ජාවා හි අනතුරු ඇඟවීමක් කරයි (එමඟින් return
ප්රකාශ සමඟ මිශ්ර වුවහොත් සම්පාදනය කළ හැකි දෝෂ ඇති විය හැකි අතර එය ළඟා විය නොහැකි කේතයකට මග පාදයි):
while (1 == 2) { // Note that "if" is treated differently
System.out.println("Unreachable code");
}
කෙසේ වෙතත් මෙය නීත්යානුකූල ය:
while (isUserAGoat()) {
System.out.println("Unreachable but determined at runtime, not at compile time");
}
ඒ නිසා මම බොහෝ විට කේත බ්ලොක් එකක් ව්යාජ ලෙස සකස් කිරීම සඳහා මෝඩ උපයෝගීතා ක්රමයක් ලියන බව මට පෙනේ, පසුව නිදොස්කරණය සම්පූර්ණ කිරීමේදී ඒ සඳහා සියලු ඇමතුම් සොයා ගන්න, එබැවින් ක්රියාත්මක කිරීම වෙනස් නොවන්නේ නම් මෙය ඒ සඳහා භාවිතා කළ හැකිය.
ජේඑල්එස් පෙන්වා දෙන if (false)
පරිදි මෙය නිදොස් කිරීමේ ධජ සඳහා වන සහාය බිඳ දමනු ඇති බවට නිශ්චිත හේතුව නිසා “ළඟා විය නොහැකි කේතය” අවුලුවන්නේ නැත, එනම් මූලික වශයෙන් මෙම භාවිත අවස්ථාව (h / t @auselen). ( static final boolean DEBUG = false;
උදාහරණයක් ලෙස).
මම වෙනුවට while
සඳහා if
වඩාත් අප්රකට භාවිතය නඩුව නිෂ්පාදනය. මෙම හැසිරීම සමඟ ඔබට සූර්යග්රහණය වැනි ඔබේ IDE ඉහළට යා හැකි බව මම විශ්වාස කරමි, නමුත් මෙම සංස්කරණය අනාගතයට වසර 4 ක් වන අතර මට සෙල්ලම් කිරීමට සූර්යග්රහණ පරිසරයක් නොමැත.