ฉันกำลังเรียนหลักสูตรโครงสร้างข้อมูลระดับกลางเป็นสิ่งที่จำเป็นสำหรับการเข้าสู่โปรแกรม CS MS ที่มหาวิทยาลัยทุกคนในอเมริกาเคยได้ยิน โค้ดหนึ่งบรรทัดที่เขียนในชั้นเรียนจับตาฉัน:
if (a > 33 | b++ < 54) {...}
สิ่งนี้จะไม่ผ่านการตรวจสอบรหัสที่ทำงานของฉัน หากคุณเขียนโค้ดเช่นนี้ในการสัมภาษณ์นี่จะเป็นการประท้วงครั้งสำคัญกับคุณ (นอกเหนือจากการเป็นเงื่อนไขกับผลข้างเคียงมันก็ฉลาดที่ค่าใช้จ่ายของความชัดเจน)
ในความเป็นจริงฉันไม่เคยเห็นเงื่อนไขที่มีผลข้างเคียงและ Googling ก็ไม่ได้ผลมากนักเช่นกัน นักเรียนอีกคนอยู่ข้างหลังเลิกเรียนเพื่อถามเกี่ยวกับเรื่องนี้ด้วยดังนั้นฉันไม่ใช่คนเดียวที่คิดว่านี่แปลก แต่อาจารย์ค่อนข้างแน่วแน่ว่านี่เป็นรหัสที่ยอมรับได้และเขาจะเขียนอะไรทำนองนั้นในที่ทำงาน (งาน FT ของเขาคือ SWE หลักที่ บริษัท คุณเคยได้ยินมา)
ฉันไม่สามารถจินตนาการถึงโลกที่บรรทัดของรหัสนี้จะเป็นที่ยอมรับได้ ฉันผิดหรือเปล่า? ตกลงไหม กรณีทั่วไปมากขึ้น: เงื่อนไขกับผลข้างเคียง? เหล่านั้นเคยตกลง?