มีโอกาสมาแบ่งปันเรื่อง การ shared code ระหว่าง JavaScript project ?
ในงาน BKK.JS Meetup ครั้งที่ 8
โดยมีรูปแบบต่าง ๆ ที่ลองใช้งานและ fail มาแบ่งปัน ประกอบไปด้วย
- Copy and Paste code
- สร้าง function, class, module ขึ้นมา เช่น common, shared และ utility เป็นต้น
- ใช้งาน NPM package มาช่วย ทำให้การออกแบบเป้น modular มากขึ้น
- ใช้งาน Monorepo เช่น Lerna
- ใช้งาน Git sub-modules
- ใช้งาน Bit.dev สำหรับการ shared existing module/utility/ui components
เริ่มตั้งแต่เรื่องของ code ที่ซ้ำ ๆ ใน project (duplication code)
เพียง project เดียวยังมี code ที่ซ้ำ ๆ กันพอสมควร
ยิ่งถ้าระหว่าง project แล้ว code ที่ซ้ำ ๆ ยิ่งสูงมากมาย
ยกตัวอย่างเช่น
การดู duplication code จาก repository ที่ได้รับความนิยมใน GitHub
พบว่าเกิด duplication code จำนวนมาก แสดงดังรูป
ดังนั้นเราควรต้องทำการจัดการ duplication code ให้ดี
แต่ละวิธีล้วนมีข้อทั้งข้อดีและข้อเสีย
แต่เหนือสิ่งอื่นใดคือ วิธีการเหล่านั้น
มันมาจากทีมหรือไม่ ?
ทีมเข้าใจหรือไม่ ?
ทีมมีส่วนในการปรับปรุงหรือจัดการหรือไม่ ?
เพราะว่า การทำส่วนนี้มันคือเรื่องของคน
มากกว่าวิธีการหรือเครื่องมือ
ดังนั้นลองปรับปรุงกันดูครับ