นี่เป็นการปิดการซื้อขายเสมอ
ในฐานะที่เป็นโปรแกรมเมอร์เริ่มต้นคุณควรถามตัวเองสองคำถามเมื่อพิจารณาการนำโค้ดกลับมาใช้ใหม่และสร้างตารางวงกลมใหม่:
- ฉันจะเรียนรู้เพิ่มเติมเกี่ยวกับปัญหาที่ฉันต้องการแก้ไขโดยการเขียนทุกอย่างตั้งแต่เริ่มต้นหรือโดยมุ่งเน้นที่โดเมนปัญหาและวางความซับซ้อนที่ไม่สำคัญต่อปัญหาที่ฉันสนใจ
- เป็นสิ่งสำคัญสำหรับฉันที่จะแก้ปัญหาในมือหรือมีความสำคัญมากกว่าที่ฉันเข้าใจแนวคิดพื้นฐานบางอย่าง?
หากคุณไม่ต้องทำโครงงานเสร็จก็เป็นการดีที่คุณจะหมุนวงล้อเพื่อแก้ปัญหาที่ซับซ้อนซึ่งคนอื่น ๆ ได้แก้ไขไปแล้วเพราะคุณจะได้เรียนรู้อะไรบางอย่าง แต่คุณอาจจะไปที่สิ่งอื่นก่อนที่คุณจะ "เสร็จสิ้น" ซึ่งอาจจะมีหรือไม่มีความหมายกับคุณ โครงการอื่น ๆ จะเริ่มดูแวววาวเร็วเมื่อคุณเข้ามาอยู่ในหัวของคุณบนโดเมนที่ซับซ้อนที่ดูเรียบง่ายจนกว่าคุณจะเริ่มพยายามแก้ปัญหาด้วยตัวคุณเอง
อย่ามัว แต่หมกมุ่นกับการควบคุมเพราะคุณไม่เห็นด้วยกับวิธีคิดของคนอื่น มุ่งเน้นที่สิ่งที่คุณพยายามจะทำให้สำเร็จ
หากเป้าหมายของคุณคือการเขียนโปรแกรมแยกวิเคราะห์ HTML เพราะคุณต้องการเข้าใจวิธีการทำงานของตัวแยกวิเคราะห์ หากเป้าหมายของคุณคือการเขียนโปรแกรมแยกวิเคราะห์ HTML เพราะคุณต้องการให้ผู้ใช้ป้อนข้อมูลให้ถูกต้องหรือแปลง HTML แบบสุ่มบางส่วนคุณอาจเน้นไปที่สิ่งที่ไม่ถูกต้องเพราะคุณอาจสนใจแอพพลิเคชั่นการแยกวิเคราะห์มากกว่า . หากคุณรู้สึกอยากเขียน HTML parser เพราะคุณไม่ต้องการใช้เวลาในการทำความเข้าใจกับห้องสมุดของคนอื่นคุณอาจเสียเวลาเพราะอย่างน้อยในกรณีนี้ฉันรับประกันได้ว่าคนอื่นใช้เวลามากขึ้นในการหาวิธี เพื่อแก้ปัญหานี้อย่างมีประสิทธิภาพมากกว่าที่คุณมี ในกรณีเล็ก ๆ น้อย ๆ จริง ๆ คุณอาจประหยัดเวลาโดยไม่ใช้รหัสซ้ำ แต่ในกรณีที่ซับซ้อนเว้นแต่ห้องสมุดที่คุณใช้ sucks หรือความสามารถในการอ่านเอกสารและตัวอย่างโค้ด sucks
ในทางกลับกันฉันจะบอกว่ามันคุ้มค่าที่จะเขียนไลบรารีกราฟของคุณเองเนื่องจากคุณจะให้ความสำคัญกับการถ่ายโอนอัลกอริทึมพื้นฐานและโครงสร้างข้อมูลที่คุณสามารถนำไปใช้กับโดเมนอื่น ๆ ได้แม้ว่าคุณจะจบลงด้วยการใช้ ห้องสมุดของคนอื่นเมื่อคุณแก้ไขปัญหาเหล่านั้น