Practice Archive

[แปล] C.A.R.E คือคุณสมบัติของนักพัฒนา software ที่ดี

จากบทความเรื่อง Software Engineer Traits ทำการสรุปคุณสมบัติที่จำเป็นสำหรับนักพัฒนา software ที่ดี ต้องประกอบไปด้วย 4 อย่างดังนี้ Curiosity Awareness Resoluteness Empathy จึงทำการแปลและสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

สรุปจากการอ่านหนังสือ The Passionate Programmer

ช่วงวันหยุดหยิบหนังสือ The Passionate Programmer มาอ่าน โดยเนื้อหาในหนังสือประกอบไปด้วย 5 ส่วนรวมทั้งหมดมี 53 หัวข้อ จึงทำการสรุปไว้นิดหน่อย น่าจะมีประโยชน์สำหรับการพัฒนา software บ้าง

Read More…

ข้อผิดพลาดที่มักเกิดกับการพัฒนา Mobile App

ในการพัฒนา Mobile app นั้นแตกต่างจาก Web app และ Desktop app มากมาย แต่กลับพบสิ่งที่ผิดพลาดสำหรับการพัฒนา Mobile app มากมาย เนื่องจากยังใช้แนวคิดจากการพัฒนาระบบอื่น ๆ มาใช้ จึงทำการสรุปสิ่งที่ผิดพลาดไว้นิดหน่อย

Read More…

เขียน Unit Test กันดี ๆ หน่อยนะ

สัปดาห์ที่ผ่านมามีโอกาสแบ่งปันประสบการณ์เรื่อง การเขียน Unit test โดยเป็นสิ่งที่นักพัฒนาทุกคนควรทำ ถ้าเขียน code ได้แล้วก็เขียน Unit test ได้เช่นกัน ที่สำคัญ code ของ Unit test นั้น ต้องได้รับการดูแลเยี่ยง production code นั่นคือ ต้องทำการดูแลและปรับปรุงให้ดีขึ้นอยู่เสมอ มิฉะนั้นมันจะมาทำร้ายเราแน่นอน

Read More…

[แปล] ทำความเข้าใจเกี่ยวกับ TDD และ Unit test กันอีกสักหน่อย

เช้านี้นั่งอ่านบทความเก่า ๆ ที่เก็บเอาไว้คือ 5 Common Misconceptions About TDD & Unit Tests อธิบายเกี่ยวกับความเข้าใจผิดเกี่ยวกับ TDD และ Unit Test จึงทำการแปลและสรุปเนื้อหาบางส่วนไว้นิดหน่อย

Read More…

[Tips] แนะนำการทดสอบแบบอัตโนมัติสำหรับ Mobile app

ความท้าทายสำหรับการทดสอบ Mobile app ประกอบไปด้วย การทดสอบบน device จริง ๆ และหลากหลาย การทดสอบแบบ parallel เพื่อทำให้การทดสอบรวดเร็วขึ้นมาก การจัดการ code ของการทดสอบ เช่นลด code ที่ซ้ำซ้อน รวมไปถึงการ reuse การทดสอบบน environment ที่เหมือนจริง การทดสอบบน environment ต่าง ๆ เช่น ความเร็วของ network, สถานะของ battery การทดสอบเมื่อมี interrupt ต่าง ๆ เช่น มีสายเรียกเข้า, มี notification และ การทำงานใน background process การทำ stress testing เช่นทำการทดสอบหรือใช้งาน app เป็นเวลานาน ๆ เพื่อดูการจัดการ resource ของ app

Read More…

ว่าด้วยเรื่องของ 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…