code-smell Archive

Connascence มันคืออะไรในการพัฒนา software นะ

วันนี้อ่านบทความจาก Twitter พบว่ามีการพูดถึงคำว่า Connascence ลองไปเปิด dictionary เพื่อแปลเป็นภาษาไทยคือ ปัจจัยที่เกิดร่วมกัน !! งงไปกันใหญ่นะสิ ดังนั้น จึงลองไปค้นหาใน Wikipedia ก็ได้ความมาว่า มันคือ metric ในการวัดคุณภาพของ software ซึ่งคิดค้นโดยคุณ Meilir Page-Jones ใช้สำหรับอธิบายสาเหตุของ complexity และ dependency ต่างๆ ในโลกของ Object Oriented Design (OOD) เช่น coupling หรือ การผูกมัด นั่นเอง ดังนั้นมาดูกันหน่อยว่า Connascence มันเป็นอย่างไร และ สำคัญอย่างไรในการพัฒนา software

Read More…

ที่มาของการตรวจสอบเงื่อนไขต่างๆ ใน code

ก่อนที่เราจะลดจำนวนการตรวจสอบเงื่อนไขต่างๆ ใน code (condition branch) นั้น มาดูกันหน่อยว่า ทำไมเราต้องทำการตรวจสอบต่างๆ ด้วย เช่นพวก if-statement และ switch-case เป็นต้น มาดูกันเลยดีกว่า

Read More…

Part 1 :: ว่าด้วยเรื่องของ Code Smell ที่เกิดขึ้นภายในคลาส

จากที่ผมอธิบายเกี่ยวกับ เรื่อง method สั้นๆ มันดีกว่า method ยาวๆ อย่างไร การลดความซ้ำซ้อนของ code ลง ทั้งการ refactor code และการนำ pattern ต่างๆ มาใช้งาน ซึ่งสิ่งที่อธิบายไปนั้น ล้วนแล้วแต่เป็นสิ่งบ่งบอกว่า code มีปัญหา โดยสิ่งที่บ่งบอกว่า code ของเราน่าจะมีปัญหานั้น ในทางเทคนิคจะเรียกว่า Code Smell ดังนั้น เรามาดูกันก่อนว่า Code Smell มันมีอะไรบ้าง เพื่อให้สามารถหาวิธีการแก้ไขหรือป้องกันได้

Read More…