Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

อย่าปล่อยให้ code มีกลิ่นที่ไม่ดี !!

$
0
0

code-smell

code-smell สิ่งที่นักพัฒนาที่ดีพึงมี คือ มีจมูกที่ดี หมายความว่าต้องหัดดมกลิ่นของ code ว่า code เหล่านั้นมีกลิ่นที่ไม่ดี ไม่พึงประสงค์หรือไม่ ? ซึ่งเราจะเรียกว่า Code Smell
แต่ปัญหาหลัก ๆ คือ เหล่านักพัฒนานั้น จมูกไม่ค่อยดีนะสิ มักจะไม่ได้กลิ่นอะไรจาก code เลย !!
ดังนั้นสิ่งแรกที่นักพัฒนาควรทำคือ อ่าน และ ศึกษา รูปแบบของ code ที่ไม่ดีจากหนังสือ Refactoring : Improving the Design of Existing code มาดูกันว่า Code Smell ที่เจอบ่อย ๆ มีลักษณะอย่างไรบ้าง ?

1. ไม่มีการกำหนดรูปแบบของ code (Coding Standard)

บางทีม บางบริษัทอาจจะบอกว่า เรามี coding standard guideline นะ แต่เป็นเอกสาร !! ปัญหาคือ ไม่มีใครรู้ ปัญหาคือ ไม่มีใครทำตาม ผลที่ตามมาก็คือ รูปแบบของ code มั่วไปหมด ดังนั้นสิ่งที่ต้องทำก็คือ สรุป Coding standard ร่วมกันซะ จากนั้นเริ่มง่าย ๆ จากการกำหนดไว้ใน Text editor และ IDE ของแต่ละคน ต่อมาใส่ขั้นตอนการตรวจสอบ Coding standard ในระบบ Continuous Integration (CI) อีกด้วย ปล. แค่เรื่อง Tab กับ Spacebar ยังเป็นเรื่องกันเลย !!

2. Code ที่ไม่สามารถทดสอบได้ หรือ ทดสอบได้ยากมาก ๆ

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

3. Code ที่มึน ๆ งง ๆ สับสนวุ่นวาย

เคยเจอไหมที่ comment หรือ document ไม่ตรงกับ code เคยเจอไหมที่เจอ Log มากกว่า code เคยเจอไหมที่ตัวแปรใน code มีแต่ i, j, k, x, y, z มีตัวแปร boolean ขยะจำนวนมาก เช่น ทำงานสำเร็จ return true แต่ถ้าไม่จะเป็น false ตัวแปรเหล่านั้นมักจะชื่อ flag เราลบ code กันดีไหม ?

สุดท้ายอย่า Copy and Paste code แบบไม่เข้าใจมันจริง ๆ

บางคนบอกว่าวิธีการนี้มันคือ DRY (Don’t Repeat Yourself) แต่ในความเป็นจริงมันเป็นวิธีการของคนขี้เกียจมากกว่า ดังนั้นก่อนนำไปใช้งานหยุดคิด ตั้งสตินิดนึง
วันนี้จมูกของคูณดีไหม ได้กลิ่นอะไรจาก code หรือไม่ ?
Reference Websites https://medium.freecodecamp.com/do-not-allow-bad-smells-in-your-java-code-4e8ad244393#.j013zfh1a

Viewing all articles
Browse latest Browse all 1997

Trending Articles