10
ใช้ไลบรารีของบุคคลที่สาม - ใช้ wrapper เสมอหรือไม่
โครงการส่วนใหญ่ที่ฉันเกี่ยวข้องกับการใช้ส่วนประกอบโอเพ่นซอร์สหลาย ๆ ตามหลักการทั่วไปเป็นความคิดที่ดีเสมอหรือไม่ที่จะหลีกเลี่ยงการผูกส่วนประกอบทั้งหมดของรหัสกับห้องสมุดบุคคลที่สามและแทนที่จะใช้กระดาษห่อหุ้มห่อหุ้มเพื่อป้องกันความเจ็บปวดจากการเปลี่ยนแปลง ตัวอย่างโครงการ PHP ส่วนใหญ่ของเราโดยตรงใช้ log4php เป็นเฟรมเวิร์กการบันทึกนั่นคือยกตัวอย่างผ่าน \ Logger :: getLogger () พวกมันใช้ -> info () หรือ -> warn () วิธีอื่น ๆ ในอนาคต อย่างไรก็ตามกรอบการบันทึกข้อมูลสมมุติฐานอาจปรากฏขึ้นซึ่งจะดีกว่าในบางวิธี โครงการทั้งหมดที่เข้าคู่กับลายเซ็นเมธอด log4php จะต้องเปลี่ยนแปลงในหลาย ๆ แห่งเพื่อให้เหมาะสมกับลายเซ็นใหม่ สิ่งนี้จะส่งผลกระทบอย่างกว้างขวางต่อ codebase และการเปลี่ยนแปลงใด ๆ อาจเป็นปัญหาได้ ในการพิสูจน์โค้ดใหม่ในอนาคตจากสถานการณ์ประเภทนี้ฉันมักจะพิจารณา (และบางครั้งใช้) คลาส wrapper เพื่อห่อหุ้มฟังก์ชั่นการบันทึกและทำให้ง่ายขึ้นแม้ว่าจะไม่เข้าใจผิดเพื่อเปลี่ยนวิธีการบันทึกในอนาคตโดยมีการเปลี่ยนแปลงน้อยที่สุด ; รหัสเรียกเสื้อคลุม, เสื้อคลุมผ่านการเรียกร้องให้กรอบการเข้าสู่ระบบแบบหวือหวา โปรดจำไว้ว่ามีตัวอย่างที่ซับซ้อนมากขึ้นกับห้องสมุดอื่น ๆ ฉันเป็นวิศวกรรมมากเกินไปหรือนี่เป็นข้อควรระวังที่ชาญฉลาดในกรณีส่วนใหญ่? แก้ไข: ข้อควรพิจารณาเพิ่มเติม - การใช้การฉีดพึ่งพาและการทดสอบสองเท่าต้องการให้เราสรุป …