Practice Archive

ว่าด้วยเรื่องของ source code

เรื่องที่ถกเถียงกันประจำสำหรับการเขียน code ประกอบไปด้วย Tab vs Space ใช้อะไรดี ? ใช้ 2 หรือ 4 space แทน Tab หรือไม่ ? เขียน {} หรือไม่ ? เขียน { ในบรรทัดไหน ? Naming convention เป็นอย่างไร  camel case หรือ snake case ? ตั้งชื่อต่าง ๆ เป็นอย่างไร ? ถ้าเขียน test จะตั้งชื่ออย่างไรดี

Read More…

[Android] ขอรณรงค์ให้ใช้ Retrofit สำหรับจัดการ RESTful APIs เถอะครับ

คำถามสำหรับ Android Developer มีใครที่ยังจัดการ RESTful API เองบ้าง ? เช่น ยังเขียนการติดต่อไปยัง RESTful API ด้วย HTTPClient​ เอง? ยังต้องมาเขียน code จัดการ Request/Response กันเอง ? ยังเขียนการ mapping ไปมาระหว่าง JSON/XML กับ POJO class เอง ? ยังเขียน AsyncTask ใช้เอง

Read More…

มาทำแบบทดสอบเรื่อง Continuous Integration (CI) กัน

จากบทความเรื่อง Continuous Integration Certification นั้น มีแบบทดสอบการใช้งาน CI ที่น่าสนใจ ดังนั้นลองมาทำแบบทดสอบกันหน่อย เริ่มได้เลย

Read More…

ทำไม Developer ควรให้เวลากับการลบ code ของตัวเองทิ้งไปบ้าง ?

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

Read More…

ว่าด้วยเรื่อง Spaghetti Pattern ในชุดการทดสอบ

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

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง Last Line Effect

จากบทความเรื่อง Last Line Effect ทำการศึกษาผลกระทบที่มักเกิดกับการ Copy-and-Paste code ซึ่งแน่นอนว่า developer ส่วนใหญ่ชอบใช้งาน แถมใช้งานกันบ่อย ๆ อีกด้วย และบ่อยครั้งพบว่าการกระทำแบบนี้ก่อให้เกิดความผิดพลาดขึ้นมา หนึ่งในข้อผิดพลาดนั้นก็คือ code ใน block หรือบรรทัดท้าย ๆ นั่นเอง มาดูผลการศึกษากัน

Read More…

Developer ต้องเรียนรู้และฝึกฝนอยู่อย่างสม่ำเสมอ

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

Read More…

แบ่งปันเรื่อง Developer ที่ดี

มีโอกาสแลกเปลี่ยนแนวคิดเกี่ยวกับการเป็น developer ที่ดี (Good Developer) ซึ่งคำนี้มันไม่มีอยู่ในพจนานุกรมใด ๆ แต่เป็นสิ่งที่ developer ทุกคนต้องค้นหา เพื่อให้ประสบความสำเร็จและสนุกกับการพัฒนา มาดูกันว่ามีสิ่งใดบ้าง

Read More…

แนะนำการใช้งาน Version Control ที่ดี

ในการพัฒนา software นั้นสิ่งที่ขาดไปไม่ได้เลยก็คือ Version Control ใช้สำหรับจัดการการเปลี่ยนแปลงต่าง ๆ ทั้งการสร้าง การแก้ไข การลบ การ merge ตัวอย่างเช่น source code และ configuration แต่การใช้งาน Version Control ก็แตกต่างกันไป บางคนใช้เพื่อ backup code บางคนไม่เคย update ข้อมูลใน Version Control เลย บางคนนำ source code ของตัวเองไปทับคนอื่นเฉยเลย บางคนสร้าง branch เยอะมาก ๆ จนไม่รู้ว่า branch ไหนล่าสุด บางคนบอกว่าเลิกใช้มันแล้ว เพราะว่าเกิด conflict มากมาย บางคนบอกว่าใช้ไปทำไม ขอ thumbdrive มาแล้ว copy ไปสิเร็วกว่า

Read More…

สิ่งเน้นย้ำสำหรับ Developer ที่ดี

สรุปสิ่งที่ developer ที่ดีควรต้องรู้และเข้าใจ เพื่อลดปัญหาต่าง ๆ ที่จะเกิดขึ้นมา และน่าจะทำให้การพัฒนา software สนุกขึ้นมา มันอาจจะเป็นเรื่องที่ยากสักหน่อย แต่เชื่อว่ามันจะช่วย developer ได้นะ

Read More…