โดยทั่วไปแล้วฉันหลีกเลี่ยงการสร้างวงล้อใหม่หากฟังก์ชั่นที่ฉันต้องการหรือสิ่งที่ใกล้เคียงมีอยู่ในห้องสมุดมาตรฐานของภาษาที่ฉันใช้
อย่างไรก็ตามหากฉันต้องรวมห้องสมุดของบุคคลที่สามเข้าไว้ด้วยกันการตัดสินใจจะขึ้นอยู่กับว่าห้องสมุดมีการใช้งานอย่างกว้างขวางและได้รับความนิยมมากน้อยเพียงใด ฉันหมายถึงเรากำลังพูดถึงBoostหรือเครื่องมือสตริง - แยกวิเคราะห์ Kick-ass ของ Bob หรือไม่?
แม้ว่าห้องสมุดเป็นที่รู้จักกันดีโดยทั่วไปและสูงนับถือทั่วทั้งอุตสาหกรรมก็ยังคงเป็นบุคคลที่สามการพึ่งพา โดยทั่วไปโปรแกรมเมอร์ให้ความสำคัญกับคุณสมบัติของการใช้รหัสซ้ำในขณะที่มักขัดต่ออันตรายของการพึ่งพา โครงการที่มีการพึ่งพาบุคคลที่สามมากเกินไปมีแนวโน้มที่จะกระจุยในระยะยาวเนื่องจากมันค่อยๆกลายเป็นฝันร้ายในการบำรุงรักษา
ดังนั้นการใช้ประโยชน์จากรหัสที่มีอยู่ที่ดี - แต่อ้างอิงจะมีที่ไม่ดี น่าเสียดายที่ข้อความทั้งสองนี้ขัดแย้งกันดังนั้นเคล็ดลับจึงพยายามหาสมดุลที่เหมาะสม นั่นเป็นเหตุผลที่คุณต้องระบุการอ้างอิงที่ยอมรับได้ ดังที่ฉันได้กล่าวไปแล้วว่าอะไรก็ตามในห้องสมุดมาตรฐานของภาษานั้นน่าจะเป็นการพึ่งพาที่ยอมรับได้ ย้ายจากที่นั่นห้องสมุดซึ่งได้รับการยกย่องอย่างสูงทั่วทั้งอุตสาหกรรมนอกจากนี้ยังมีที่ยอมรับโดยทั่วไป (เช่น Boost สำหรับ C ++ หรือ jQuery สำหรับจาวาสคริ) - แต่พวกเขายังคงมีน้อยเป็นที่น่าพอใจกว่ามาตรฐานห้องสมุดเพราะพวกเขาจะมีแนวโน้มที่จะมีเสถียรภาพน้อยกว่าห้องสมุดมาตรฐาน .
สำหรับห้องสมุดที่ไม่ค่อยมีใครรู้จัก (เช่นการอัปโหลดล่าสุดบน SourceForge) สิ่งเหล่านี้เป็นการพึ่งพาที่มีความเสี่ยงสูงและโดยทั่วไปฉันขอแนะนำให้หลีกเลี่ยงสิ่งเหล่านี้ในรหัสการผลิตเว้นแต่คุณจะคุ้นเคยกับซอร์สโค้ดมากพอ
ดังนั้นมันจึงเป็นการกระทำที่สมดุลจริงๆ แต่ประเด็นก็คือว่าเพียงแค่สุ่มสี่สุ่มห้าพูดว่า "รหัสนำมาใช้ใหม่ที่ดี! การคิดค้นล้อที่ไม่ดี!" เป็นทัศนคติที่อันตราย ประโยชน์ของการใช้ประโยชน์จากโค้ดของ บริษัท อื่นจะต้องถูกชั่งน้ำหนักเทียบกับข้อเสียของการแนะนำการพึ่งพา