3
คุณจะจัดการกับเวลาการคอมไพล์ที่ยาวขึ้นเมื่อทำงานกับเทมเพลตได้อย่างไร?
ฉันใช้ Visual Studio 2012 และเขามีกรณีที่เราเพิ่มพารามิเตอร์แม่แบบให้กับคลาส "เพียง" เพื่อแนะนำ "จุดตะเข็บ" เพื่อให้ในการทดสอบหน่วยเราสามารถแทนที่ส่วนเหล่านั้นด้วยวัตถุจำลอง โดยปกติคุณจะแนะนำจุดตะเข็บใน C ++ ได้อย่างไร: การใช้อินเตอร์เฟสและ / หรือการผสมตามเกณฑ์บางอย่างที่มีอินเตอร์เฟสนัยโดยใช้พารามิเตอร์เทมเพลตด้วย? เหตุผลหนึ่งที่ต้องถามเรื่องนี้ก็เพราะเมื่อบางครั้งการรวบรวมไฟล์ C ++ ไฟล์เดียว (ที่มีไฟล์แม่แบบที่อาจรวมถึงแม่แบบอื่น ๆ ) ส่งผลให้ในวัตถุไฟล์ที่ถูกสร้างขึ้นที่ใช้เวลาประมาณ 5-10 วินาทีในเครื่องนักพัฒนา . VS คอมไพเลอร์ยังไม่รวดเร็วโดยเฉพาะอย่างยิ่งในการรวบรวมเทมเพลตเท่าที่ฉันเข้าใจและเนื่องจากรูปแบบการรวมเทมเพลต (คุณได้รวมคำจำกัดความของเทมเพลตในทุกไฟล์ที่ใช้มันโดยอ้อมและอาจเป็นอินสแตนซ์เทมเพลตนั้นทุกครั้ง สิ่งที่ไม่มีส่วนเกี่ยวข้องกับเทมเพลตนั้น) คุณอาจมีปัญหากับเวลาในการคอมไพล์ (เมื่อทำการคอมไพล์แบบเพิ่มเติม) คุณมีวิธีจัดการกับเวลารวบรวมแบบเพิ่มขึ้น (และไม่เพียง) เมื่อทำงานกับแม่แบบ (นอกเหนือจากคอมไพเลอร์ที่ดีขึ้น / เร็วขึ้น :-))