legacy-code Archive

จะหลีกเลี่ยง code ที่ … อย่างไรดี ?

ปัญหาที่นักพัฒนาพบเจอเป็นประจำก็คือ Legacy code (Code ที่ไม่มี test) ซึ่งมีคุณสมบัติเฉพาะตัวนั่นก็คือ พังง่าย !! อาการประมาณว่า แก้ไขตรงนั้นนิดตรงนี้หน่อยแล้วส่วนอื่นพังไปด้วย !! เหมือนกับการแก้ไข bug เพียงตัวเดียวแล้วได้ bug มาอีกเป็นฝูง โดย code เหล่านี้นักพัฒนาต้องเจ็บตัวกันมาทุกคน ไม่ว่าจะมากหรือน้อยก็ตาม เพื่อทำการแก้ไข และ ปรับปรุง code เหล่านี้ให้ดีขึ้น คำถามที่น่าสนใจคือ แล้วเราจะหลีกเลี่ยง code แบบนี้ได้อย่างไร

Read More…

ทำความเข้าใจกับ Legacy code ด้วยการเขียน Test สิ

พอดีมีโอกาสแลกเปลี่ยนแนวทางในการจัดการ Legacy code จึงทำการสรุปสิ่งที่พูดไปไว้นิดหน่อย Legacy code คือ code ที่ไม่มี Test ซึ่ง Test คือชุดการทดสอบแบบอัตโนมัตินะ คำถาม ถ้าต้องการจะแก้ไข และ เพิ่มเติมอะไรเข้าไปยัง Legacy code ล่ะ จะต้องทำอย่างไร ? คำตอบคือ ต้องทำความเข้าใจกับมันก่อนสิ อ้างอิงตามเอกสารก็คงไม่ได้ เพราะว่าไม่เคยตรงกับ code จริง ๆ เลย แล้วจะทำไปทำไม ? ทำให้มี หรือ ทำให้ดี

Read More…

สำหรับ Android App :: จะจัดการกับ Legacy code อย่างไรดี ?

ระหว่างเตรียมเอกสารสำหรับการแบ่งปันเรื่อง Automated testing for Android app เกิดคำถามที่น่าสนใจว่า เราจะจัดการและรับมือกับ Legacy code ของ Android app อย่างไรดี ? เนื่องจากหลาย ๆ คนน่าจะกำลังเผชิญชะตากรรมนี้อยู่ สำหรับ Android developer ลองให้ความเห็นสิว่า จะทำอย่างไรดี

Read More…

ต้องทำอย่างไรดีเมื่อต้องไปแก้ไข Legacy Code ?

เป็นเรื่องปกติของ Developer ทุกคนที่ต้องผจญภัยกับ Legacy Code แต่สำหรับ Developer หน้าใหม่ ๆ นั้น อาจจะมีความคิด และ ความคาดหวังว่า เมื่อเข้ามาทำงานแล้ว ต้องมาพัฒนา feature ใหม่ ต้องมีเขียน code ใหม่ โดยไม่สนใจใคร แต่ในโลกความเป็นจริงมันไม่เคยเป็นเช่นนั้นเลย เนื่องจากต้องเข้าไปแก้ไขสิ่งเล็ก ๆ ที่เรียกว่า Legacy Code บางคนเรียกว่า Death Star !! บางคนอาจจะบอกว่า ซวยล่ะ งานเข้าแน่นอน !! ดังนั้นเรามาดูกันหน่อยว่าจะรับมือกับมันอย่างไรบ้าง

Read More…

Code ที่ developer ทำงานอยู่ด้วยนั้น มีอายุเท่าไร ?

จากบทความเรื่อง Longevity of Source Code ทำการวิเคราะห์ code ได้อย่างน่าสนใจ จึงนำมาสรุปบางส่วน ดังนี้ Developer ทุกคนลองกลับไปดู code ที่ทำงานอยู่ด้วยทุกวันดูสิว่า Code เหล่านั้นมันอายุเท่าไร ? Code เหล่านั้นมันเก่าแก่ไหม ? ถ้ามีอายุ 6 เดือนมันเก่าแก่ไหมนะ ? หรือต้องมีอายุ 5 หรือ 10 หรือ 15 หรือ 20 ปีขึ้นไป ถึงจะเก่าแก่ ? มี code ชุดไหนที่มีอายุมากที่สุด ? code ที่มีอายุเยอะ ๆ มีจำนวนกี่เปอร์เซ็นจากทั้งหมด ? 10% หรือ 50% หรือ 90% จะหาคำตอบไปเพื่ออะไรกัน ดังนั้นลองมาหาคำตอบกันดีไหม

Read More…

ทำงานกับ Legacy code  มันสนุกไหม ?

จากหนังสือ Lean from the Trenches บทที่ 18 เรื่อง Reducing the Test Automation Backlog ทำการอธิบายเกี่ยวกับ การทำงานร่วมกับ Legacy code ได้อย่างน่าสนใจ ซึ่งคิดว่า น่าจะมีประโยชน์สำหรับใครก็ตามที่เผชิญกับมันอยู่ ว่าจะคิด และ ลงมือจัดการอย่างไรดี

Read More…

อย่าเขียน Legacy Swift นะ

ภาษา Swift เป็นภาษาที่เกิดขึ้นมาไม่นาน และมีคุณสมบัติที่ดีมากมาย แต่สิ่งหนึ่งที่ developer ไม่ควรสร้างขึ้นมาก็คือ Legacy Swift มาดูกันหน่อยว่า เรากำลังสร้างมันขึ้นมาใช่ไหม

Read More…

คำถาม :: ทำการ Refactor พวก Legacy code เมื่อไรดี ?

สิ่งเล็ก ๆ ที่เรียกว่า Legacy code นั้น มักเป็นสิ่งที่ไม่มีใครชอบ แต่แปลกนะว่า มักจะมีคุณค่า หรือ สร้างรายได้ให้กับองค์กร !! จำนวนของ Legacy code นั้นมักมีจำนวนมากมาย เกินกว่าที่เราจะจัดการมันได้ ดังนั้นเราจะตัดสินใจอย่างไรว่า code ส่วนไหน ต้องทำการ refactor ? code ส่วนไหน ไม่จำเป็นต้อง refactor ? ถ้าระบบงานมันทำงานได้ดีอยู่แล้ว จะต้องทำการ refactor หรือไม่ ? ยิ่งกว่านั้นการ refactor code มันมีความเสี่ยง และ ค่าใช้จ่ายสูง ดังนั้น เราต้องการมีตัวช่วยหน่อยสิว่า เมื่อไรควรที่จะ refactor ดี

Read More…

เราเขียน code เพื่อสร้าง Logging application กันหรืออย่างไร ?

เคยบ้างไหมที่ต้องอยู่กับ code ที่ 50-70% มันคือ การเขียน log ส่วนที่เหลือคือ code ที่เราต้องการจริงๆ เคยถามไหม หรือ คิดไหมว่า ทำไมถึงเป็นแบบนั้นนะ

Read More…

ไมเกรน กับการพัฒนา Software

วันนี้อ่านเรื่องของ ไมเกรน (Migraine) พบว่าอาการของ ไมเกรน นั้นมันมีความซับซ้อนมากๆ แต่อาการหลักคือ ปวดหัวอย่างรุนแรง บางคนอาจจะคลื่นไส้อาเจียน สายตาพล่ามัว หรือ เห็นแสงระยิบระยับ ส่วนการรักษา เห็นส่วนใหญ่ก็จะกินยาแก้ปวด รวมทั้ง พักผ่อนให้เพียงพอ แต่แปลกนะ ไม่เกรน มันก็ชอบกลับมาเรื่อยๆ เมื่อนำ Migraine มาเปรียบเทียบในการพัฒนา software ล่ะ ? มันจะเกี่ยวข้องกันอย่างไร

Read More…