เช่นเดียวกับที่ทุกคนตั้งข้อสังเกตว่ามันมาจากภาษา C ไม่มากก็น้อยซึ่งคุณอาจได้รับรหัสเท็จหากคุณลืมเครื่องหมายเท่ากับที่สองโดยไม่ได้ตั้งใจ แต่ยังมีอีกเหตุผลหนึ่งที่ตรงกับ C #: ความสามารถในการอ่าน
เพียงแค่ใช้ตัวอย่างง่ายๆนี้:
if(someVariableThatShouldBeChecked != null
&& anotherOne != null
&& justAnotherCheckThatIsNeededForTestingNullity != null
&& allTheseChecksAreReallyBoring != null
&& thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded != null)
{
// ToDo: Everything is checked, do something...
}
หากคุณเพียงแค่สลับคำว่างทั้งหมดไปยังจุดเริ่มต้นคุณสามารถตรวจสอบการตรวจสอบทั้งหมดได้ง่ายขึ้น:
if(null != someVariableThatShouldBeChecked
&& null != anotherOne
&& null != justAnotherCheckThatIsNeededForTestingNullity
&& null != allTheseChecksAreReallyBoring
&& null != thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded)
{
// ToDo: Everything is checked, do something...
}
ดังนั้นตัวอย่างนี้อาจเป็นตัวอย่างที่ไม่ดี (ดูหลักเกณฑ์การเข้ารหัส) แต่ลองนึกถึงคุณเลื่อนดูไฟล์โค้ดทั้งหมดอย่างรวดเร็ว เพียงแค่เห็นรูปแบบ
if(null ...
คุณรู้ทันทีว่าจะเกิดอะไรขึ้นต่อไป
ถ้าเป็นในทางกลับกันคุณจะต้องสแกนไปที่ท้ายบรรทัดเสมอเพื่อดูการตรวจสอบความว่างเปล่าเพียงแค่ให้คุณสะดุดสักครู่เพื่อดูว่ามีการตรวจสอบแบบใด ดังนั้นการไฮไลต์ไวยากรณ์อาจช่วยคุณได้ แต่คุณจะช้าลงเสมอเมื่อคำหลักเหล่านั้นอยู่ท้ายบรรทัดแทนที่จะอยู่ด้านหน้า