refactoring Archive

บันทึกจาก paper เรื่อง Refactoring vs Refuctoring: Advancing the state of AI-automated code improvements

นั่งอ่าน paper เรื่อง Refactoring vs Refuctoring กับการนำ LLM (Large Language Model) เข้ามาใช้ว่าเป็นอย่างไร ?ในการ generate code และ การปรับปรุงโครงสร้างของ code (Refactoring)ซึ่งใน paper นี้จะช่วยแสดงให้เห็นว่าการทำงานเป็นอย่างไรมีข้อจำกัดอะไรบ้างผลที่ได้มีความน่าเชื่อถืออย่างไรมีความผิดพลาดอย่างไรบ้างมาดูกัน

Read More…

บันทึกการอ่านบทความเรื่อง How the Medium iOS team works effectively with legacy code

บทความเรื่อง How the Medium iOS team works effectively with legacy codeอธิบายถึงแนวทางในการทำงานกับ Legacy code ในฝั่งของ iOS App team ของ Medium.com ว่าเป็นอย่างไรบ้าง ?โดยแนวทางการทำงานจะอ้างอิงมาจากหนังสือ Working effectively with legacy codeมาเริ่มกันเลย

Read More…

สรุปจากการอ่านหนังสือ Tidy First

ช่วงวันหยุดทำการอ่านหนังสือ Tidy First ? (A personal Exercise in Empirical Software Design)ก่อนหน้านี้ติดตามอ่านจาก SubStack::Tidy First ของคุณ Kent Beckในหนังสือเล่มนี้ทำการอธิบายถึงแนวปฏิบัติในการพัฒนา software ที่ดีนั่นคือการลด code ที่ไม่ดี หรือ ผูกมัดกันมาก ๆด้วยการจัดการและปรับปรุง code ให้ดียิ่งขึ้น (Refactoring หรือ Tidying) นั่นเองเพื่อช่วยทำให้ code อ่านง่ายขึ้นง่ายต่อการแก้ไข และ ลดผลกระทบต่างการเปลี่ยนแปลงลงไป

Read More…

การ Refactor code ไม่ควรอยู่ใน backlog ?

เป็นคำถามที่น่าสนใจว่า การ Refactor code ควรหรือไม่ ที่จะอยู่ใน backlogบ่อยครั้งเราจะพบว่า ทำ ๆ ให้มันเสร็จไปก่อน เดี๋ยวไม่ทันส่ง เดี๋ยวเราค่อยกลับมาแก้ไขให้มันดีขึ้นกัน

Read More…

มาดูการปรับปรุง code ของระบบ Airtable

อ่านเจอบทความเรื่อง The continual evolution of Airtable’s codebase: Migrating a million lines of code to TypeScriptทำการอธิบายว่าที่ Airtable ทำการปรับปรุง code กันอย่างไรบ้าง ?กับ code ที่มีกว่า 1 ล้านบรรทัดจาก Vanilla JavaScript ไปยัง TypeScriptตั้งแต่เริ่มจนถึงปัจจุบัน และในอนาคต

Read More…

Developer ต้องหัดจัดการเรื่องของ Technical Debt นะ

เรื่องของ Technical Debt หรือ หนี้เชิงเทคนิค มันเป็นสิ่งที่ใช้อธิบายว่า สิ่งที่ทีมพัฒนาสร้างขึ้นมานั้น มันค่อย ๆ ทำร้ายเราเรื่อย ๆ คล้าย ๆ มะเร็งร้าย ถ้าไม่ตรวจร่างกายหรือระบบอยู่บ่อย ๆ แล้ว ผลที่ตามมาคือ อาการจะออกมาเมื่อถึงระยะท้าย ๆ ซึ่งแก้ไขไม่ทันแล้ว !! หรือไม่เช่นนั้น ก็ต้องใช้ค่ารักษาที่สูงมาก ๆ

Read More…

[แปล] ว่าด้วยเรื่องของการ Reactoring React App ตอนที่ 2

ต่อจากตอนที่ 1 อธิบายเรื่องของการพัฒนาระบบและเขียนการชุดสอบสำหรับ React app ในตอนที่ 2 จะมาอธิบายเรื่อง การปรับปรุงโครงสร้าง code ให้อยู่ในรูปแบบ ELM Architecture ซึ่งมีส่วนการทำงานดังนี้ View Model Update จากนั้นลงมือปรับปรุง code ทีละส่วน แน่นอนว่า ต้องมีชุดการทดสอบด้วยเสมอ ดังนั้นมาเริ่มกันเลย

Read More…

[แปล] ว่าด้วยเรื่องของการ Refactoring React App ตอนที่ 1

เข้าไปอ่านบทความเรื่อง Refactoring React จาก 8thlight  มา ทำการอธิบายเกี่ยวกับการ Refactor หรือการปรับปรุงโครงสร้างของระบบที่พัฒนาด้วย React จาก React แบบปกติ ไปจนถึง ELM Architecture มีความน่าสนใจและมีประโยชน์ต่อการพัฒนาระบบงานอย่างมาก จึงทำการแปลและสรุปเพื่อเก็บไว้อ่าน รวมทั้งฝึกการเขียน code และชุดการทดสอบไปในตัวอีกด้วย

Read More…

เราจะทำการ refactor code ที่ไ่ม่มีชุดการทดสอบอย่างไรดี ?

Refactoring เป็นวินัยที่นักพัฒนา software ที่ดีพึงกระทำ เพื่อทำการปรับปรุงโครงสร้าง code ให้ดียิ่งขึ้น โดยไม่ทำการเปลี่ยนแปลงพฤติกรรมการทำงาน นั่นคือ ถ้าทำงานถูกอย่างไร ก็ต้องถูกอย่างนั้น ถ้าทำงานผิดอย่างไร ก็ต้องผิดอย่างนั้น (จะทำไปทำไม ?)

Read More…

บันทึกการปรับปรุง code เกี่ยวกับการ mapping error code

วันนี้ทำการ review code นิดหน่อย พบ code ที่น่าสนใจเยอะพอสมควร หนึ่งในนั้นคือ code เกี่ยวกับการ mapping error code โดยมีขั้นตอนดังนี้ ทำการตรวจสอบว่า Exception แต่ละตัวจากนั้นกำหนด error code ให้ ทำการดึงรายละเอียดของ error ด้วย error code จาก Database !! ปล. ดึงข้อมูลจาก database ไม่ค่อยดีนะ !!

Read More…