ป้องกันส่วนคำสั่งหรือเงื่อนไขล่วงหน้า (ตามที่คุณเห็น) ตรวจสอบเพื่อดูว่ามีเงื่อนไขตรงตามเงื่อนไขหรือไม่แล้วแบ่งการไหลของโปรแกรม พวกมันยอดเยี่ยมมากสำหรับสถานที่ที่คุณสนใจเพียงหนึ่งผลลัพธ์ของการif
แถลง ดังนั้นแทนที่จะพูดว่า:
if (something) {
// a lot of indented code
}
คุณย้อนกลับเงื่อนไขและแบ่งถ้าเงื่อนไขที่ตรงกันข้ามนั้นเป็นจริง
if (!something) return false; // or another value to show your other code the function did not execute
// all the code from before, save a lot of tabs
return
goto
ไม่มีที่ไหนเลยใกล้สกปรกเหมือน อนุญาตให้คุณส่งค่าเพื่อแสดงรหัสที่เหลือที่ฟังก์ชันไม่สามารถทำงานได้
คุณจะเห็นตัวอย่างที่ดีที่สุดของสิ่งที่สามารถนำไปใช้ในสภาวะซ้อน:
if (something) {
do-something();
if (something-else) {
do-another-thing();
} else {
do-something-else();
}
}
VS:
if (!something) return;
do-something();
if (!something-else) return do-something-else();
do-another-thing();
คุณจะพบว่ามีคนไม่กี่คนที่โต้เถียงเรื่องแรกว่าสะอาดกว่า แต่แน่นอนว่ามันเป็นเรื่องส่วนตัว โปรแกรมเมอร์บางคนชอบที่จะรู้ว่าเงื่อนไขบางอย่างทำงานภายใต้การเยื้องในขณะที่ฉันค่อนข้างจะทำให้วิธีการไหลเป็นเส้น
ฉันจะไม่แนะนำสำหรับช่วงเวลาหนึ่งที่ precons จะเปลี่ยนชีวิตของคุณหรือทำให้คุณได้รับการวาง แต่คุณอาจพบว่ารหัสของคุณอ่านง่ายขึ้นนิดหน่อย