Rewrite code is Refinance !!!

Blog นี้พยายามเขียนเป็น 2 ภาษา แม้ว่าผมจะรู้ภาษาอังกฤษแค่งูๆปลาๆนะครับ เข้าเรื่องเลยดีกว่าลองมาดูคำศัพที่คิดว่าควรรู้กันก่อน

  • Rewrite code - การเขียน Code ใหม่
  • Refinance - การกู้เงินจากธนาคาร พอผ่านไปสักระยะเราตัดสินใจกู้เงินมาจากธนาคารอีกแห่ง เพื่อเอาไปโป๊ะหนี้ก้อนเดิมครับ

ทำไมต้อง Refinance

  • มีสิ่งจูงใจครับ ไม่ว่าจะเป็นดอกเบี้ย ระยะเวลาที่ยาวนานขึ้น หรือ เพิ่มวงเงินที่กูได้

แล้ว Refinance มันไปเกี่ยวกับ Rewrite code ยังไง ?

ลองคิดดูทำไมเราต้องเขียน Code ใหม่หละ ?

  • เปลี่ยนเทคโนโลยี เช่น VB6 ไปเป็น MS.NET หรือ Java หรือ จาก WinApp เป็น  WebApp
  • Requirement เปลี่ยน
  • Code มันเน่าเละจนอ่านไม่ออก 
  • เวลาไม่เคยเพียงพอ - งานเผานั้นเอง

รู้จักกับ Technical Debt ก่อน

  • มัน คือ หนี้ทางเทคนิคจากการที่เราละเลยการทำสิ่งที่ดีเหมาะสม
  • เราอาจจะรีบเผางานบางอย่างให้ทันตามกำหนด เช่น Hard Code ค่าบางอย่างไว้ ไม่ update software
  • พอนานวันเข้าหนี้ที่สะสมไว้ มันพอกพูนใน code base มัน อ่านยาก

แล้วที่เขียน Code ที่เขียนใหม่มันไม่ต่างกับ Refinance เหรอ  ?

  • เราลด Technical Debt ให้ Code อ่านง่าย Maintain สะดวก
  • ยืดระยะเวลาในการที่ตัว Dev เอง เขียน Code ใหม่ได้ยาวนานขึ้น
  • คำตอบในมุมของผม คือ ไม่ต่างกันเลยครับ

แล้ว อะไร คือ สิ่งที่ดีที่สุดหละ

  • อย่าดินพอกหางหมู หมั่นตรวจเช็คสถานะของ Code อยู่ประจำ (ตรวจเครดิต) พวก Code Analysis ทั้งหลาย
  • ลดหนี้เป็นระยะด้วยการ Refactor ปรับ code ให้ดีขึ้น แต่พฤติกรรมเหมือนเดิม ทำ Test ประกบ

ปิดท้ายด้วย Code ที่คิดเอง ไม่รู้มีคนคิดซ้ำไหมนะ ลองอ่านดูครับ ^___^

Rewrite Code is Refinance,
but Refactor is the best.


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.