ฉันใช้คำสั่ง preprocessor เพื่อลบรหัสไม่ใช่ความคิดเห็นเลย:
//comment
active_code();
#if FALSE
inactive_code();
#endif
สิ่งนี้ทำให้การค้นหาง่ายมากและเครื่องมือเน้นข้อความของฉันถือว่าเป็นความคิดเห็น ฉันยังสามารถยุบมันเป็นบรรทัดเดียว:#if FALSE(...)
คุณสามารถขยายความคิดนั้นให้มีหลายตัวเลือก:
#if OPTION == 0
code_for_option_0();
#elif OPTION == 1
code_for_option_1();
#else
code_for_all_other_options();
#endif
และรวบรวมเวลาตรวจสอบข้อผิดพลาด:
#if FOO >= 5
#error FOO should be less than 5!
#endif
แน่นอนว่าคุณไม่ต้องการลงน้ำมากเกินไปหรือยากที่จะบอกว่าอะไรที่ถูกคอมไพล์แล้วและอะไรที่ไม่ได้เกิดขึ้น แต่คุณจะได้รับแนวคิดและมันก็เป็นปัญหาเดียวกับรหัสความคิดเห็นต่อไป ... ตราบใดที่คุณใช้มันแบบคงที่เท่านั้น หากเงื่อนไขของคุณเป็นแบบไดนามิกมันแย่ลง
เพื่อตรวจสอบสิ่งที่อยู่ใน codebase ที่มีอยู่ที่ไม่ได้พิจารณาปัญหานี้เลยฉันไม่คิดว่าจะมีวิธีแก้ปัญหาสากล คุณจะต้องหารูปแบบด้วยตัวเองและอาจต้องใช้รหัส regex เพื่อค้นหามัน
///
และ/** ... */
ความคิดเห็นจะถูกใช้โดยผู้สร้างเอกสารบางอย่างเช่น Doxygen หรือ JSDoc หากคุณใช้พวกเขาหรือเครื่องมือที่คล้ายกันคุณอาจไม่สามารถใช้ความคิดเห็นชนิดนั้นสำหรับความคิดเห็นเชิงพรรณนาที่ไม่ได้มีไว้เพื่อเป็นส่วนหนึ่งของเอกสารประกอบ