เมื่อทำการตรวจสอบรหัสสำหรับเพื่อนร่วมงานวันนี้ฉันเห็นสิ่งที่แปลกประหลาด เขาล้อมรอบโค้ดใหม่ด้วยเครื่องหมายปีกกาดังนี้:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
อะไรคือผลลัพธ์ถ้ามีจากนี้? อะไรคือสาเหตุของการทำเช่นนี้? นิสัยนี้มาจากไหน
แก้ไข:
จากข้อมูลที่ป้อนเข้าและคำถามด้านล่างฉันรู้สึกว่าฉันต้องเพิ่มคำถามลงไปแม้ว่าฉันจะทำเครื่องหมายคำตอบแล้ว
สภาพแวดล้อมเป็นอุปกรณ์ฝังตัว มีรหัส C แบบดั้งเดิมจำนวนมากที่ห่อหุ้มด้วยเสื้อผ้า C ++ มีนักพัฒนา C ++ จำนวนมากหันมาใช้ C ++
ไม่มีส่วนที่สำคัญในส่วนนี้ของรหัส ฉันเพิ่งเห็นมันในส่วนนี้ของรหัส ไม่มีการจัดสรรหน่วยความจำที่สำคัญเสร็จสิ้นเพียงตั้งค่าสถานะบางอย่างและตั้งค่าบิต
รหัสที่ล้อมรอบด้วยเครื่องหมายปีกกาคือ:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(ไม่ต้องสนใจรหัสแค่ติดเครื่องหมายวงเล็บปีกกา ... ;)) หลังจากเครื่องหมายวงเล็บปีกกามีการเพิ่มเติมเล็กน้อย twiddling ตรวจสอบสถานะและการส่งสัญญาณพื้นฐาน
ฉันได้พูดคุยกับคนที่แต่งตัวประหลาดและแรงจูงใจของเขาคือการ จำกัด ขอบเขตของตัวแปรการตั้งชื่อการปะทะและอื่น ๆ ที่ฉันไม่สามารถเลือกได้จริงๆ
จากมุมมองของฉันมันค่อนข้างแปลกและฉันไม่คิดว่าเครื่องมือจัดฟันแบบหยิกควรอยู่ในรหัสของเรา ฉันเห็นตัวอย่างที่ดีในคำตอบทั้งหมดว่าทำไมจึงสามารถล้อมรอบโค้ดด้วยเครื่องหมายปีกกาแบบโค้ง แต่คุณไม่ควรแยกรหัสออกเป็นวิธีการแทนหรือไม่