97-thing-developer-should-know Archive

ตอนที่ 29 :: 97 สิ่งที่ developer ควรรู้ :: Don’t Just Learn the Language, Understand its Culture

เรื่องที่ 29 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Don’t Just Learn the Language, Understand its Culture จากหนังสือ The Pragmatic Programmer ได้แนะนำและสนับสนุน ให้ developer ทำการเรียนรู้ภาษาโปรแกรมใหม่ ในทุกๆ ปี ซึ่งถ้าได้ลองศึกษา และ ทำตาม จะพบว่า อย่าเพียงแค่ศึกษาเรื่อง syntax ของตัวภาษาเท่านั้น แต่ต้องเข้าใจธรรมชาติ และ เป้าหมายของตัวภาษาด้วยเช่นกัน ตัวอย่างเช่น ถ้าคนเริ่มเขียนภาษา Java ก็มักจะบ่นว่า ทำไมต้องเขียน public static void main(String[] args) {} ด้วยล่ะ ? มันยามมากเลยนะ เขียนยากมากๆ แต่ให้ศึกษาก่อนไหมว่า ทำไมต้อง static ด้วยล่ะ ? เพื่ออะไร ? [&hellip

Read More…

ตอนที่ 28 :: 97 สิ่งที่ developer ควรรู้ :: How to Use a Bug Tracker

เรื่องที่ 28 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ How to Use a Bug Tracker Bug, defect, incident หรือ ผลกระทบต่างที่ส่งผลต่อระบบงาน สิ่งเหล่านี้คือสิ่งที่ developer ไม่มีวันที่จะหนีห่างจากมันได้เลย ดังนั้น developer ควรเรียนรู้วิธีการจัดการ และอยู่กับมันอย่างมีความสุข

Read More…

ตอนที่ 27 :: 97 สิ่งที่ developer ควรรู้ :: Test While You Sleep (and over Weekends)

เรื่องที่ 27 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Test While You Sleep (and over Weekends) คุณพบปัญหาเรื่อง server ที่ใช้ในการพัฒนา software ไม่เพียงพอหรือไม่ ? ซึ่งมันทำให้ไม่สามารถทำงาน หรือ ใช้งานในเวลาการทำงานได้มากนัก เช่น คุณมี test server หรือไม่  ? เพื่อทำหน้าที่ run ชุดการทดสอบทั้งหมด แต่ปัญหาคือ ไม่สามารถทำการทดสอบได้ตลอดในเวลาทำงานปกติ ดังนั้น ถ้าเจอเหตุการณ์เช่นนี้ สามารถให้มันทำงานตอนกลางคืนได้นะ

Read More…

ตอนที่ 26 :: 97 สิ่งที่ developer ควรรู้ :: The Three Laws of Test-Driven Development

เรื่องที่ 26 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ The Three Laws of Test-Driven Development มาทำ TDD เถอะครับ !! พูดแบบนี้ไม่ถูกนะ … เรามาพัฒนาระบบตามแนวคิด TDD กันเถอะครับ แล้วคุณจะพบสิ่งดีๆ (เหมือนขายอะไรนะ) Test-Driven Development (TDD) มันคือ วินัยสำหรับการพัฒนา software โดยนักพัฒนาจะต้องพัฒนาระบบมาจาก การออกแบบ และ สร้าง code ต่างๆ มาจาก unit test เสมอ

Read More…

ตอนที่ 25 :: 97 สิ่งที่ developer ควรรู้ :: The Golden Rule of API Design

เรื่องที่ 25 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ The Golden Rule of API Design การออกแบบ API (Application Programming Interface) นั้นเป็นเรื่องที่ยากพอสมควร ยิ่งถ้าเป็นการออกแบบในระบบที่ใหญ่ ความยากที่สูงขึ้น หรือถ้ามีคนใช้งาน API จำนวนมากแล้ว มันยิ่งทำให้คุณในฐานนะนักพัฒนาต้องใช้ความคิดอย่างมาก ว่าคุณจะทำการแก้ไข API ว่าคุณจะออกแบบ API ในอนาคตอย่างไร เพื่อลดผลกระทบต่อผู้ใช้งานให้น้อยที่สุด

Read More…

ตอนที่ 24 :: 97 สิ่งที่ developer ควรรู้ :: When Programmers and Testers Collaborate

เรื่องที่ 24 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ When Programmers and Testers Collaborate เมื่อนักพัฒนา กับ tester สามารถทำงานร่วมกันได้ดี มันมักจะมีสิ่งดีๆ ที่คุณไม่เคยคาดฝันเกิดขึ้นมามากมาย คุณเชื่อไหมล่ะ

Read More…

ตอนที่ 23 :: 97 สิ่งที่ developer ควรรู้ :: Pair Program and Feel the Flow

เรื่องที่ 23 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Pair Program and Feel the Flow ลองจินตนาการดูหน่อยสิว่า ถ้านักพัฒนาทุกๆ คน ได้ focus ในงานที่ทำ ได้ทำงานเฉพาะอย่างในเวลาหนึ่ง ได้เข้าไปมีส่วนร่วมกับงาน แล้วคุณจะลืมเรื่องของเวลาไปเลย แล้วคุณจะรู้สึกดีกับมันมากๆ ซึ่งนั่นคือ คุณตกอยู่ในสภาวะลื่นไหล ภวังค์ หรือ Flow นั่นเอง แต่มันยากนะ !!

Read More…

ตอนที่ 22 :: 97 สิ่งที่ developer ควรรู้ :: Choose Your Tools with Care

เรื่องที่ 22 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Choose Your Tools with Care ควรเลือกเครื่องมือให้เหมาะสมกับงาน ในปัจจุบันนี้ มีระบบน้อยมากๆ ที่เริ่มพัฒนาจากศูนย์ เนื่องจากนักพัฒนาส่วนใหญ่ จะเริ่มต้นพัฒนาระบบ ด้วยการนำสิ่งที่มีอยู่มาใช้งานก่อนเลย ตัวอย่างเช่น เครื่องมือพัฒนา component, library และ framework ต่างๆ ทำไมนะ

Read More…

ตอนที่ 21 :: 97 สิ่งที่ developer ควรรู้ :: Put Everything Under Version Control

เรื่องที่ 21 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Put Everything Under Version Control คุณทำการเก็บทุกสิ่งทุกอย่าง ที่จำเป็นต่อการพัฒนา software ไว้ใน Version Control กันหรือไม่ ? หรือว่ายังคงใช้การ backup แบบบ้านๆ กันอยู่นะ

Read More…

ตอนที่ 20 :: 97 สิ่งที่ developer ควรรู้ :: Make the Invisible More Visible

เรื่องที่ 20 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ Make the Invisible More Visible พยายามให้การพัฒนา software มันโปร่งใส (transparentcy) พยายามให้การพัฒนา software เป็นอะไรที่จับต้องได้ พยายามพูดความจริง แต่ปกติการพัฒนา software มักขาดความโปร่งใส ทั้งการพัฒนา และ ขั้นตอนการพัฒนา ที่มักจะถูกเก็บซ่อนไว้เสมอ ทำไมนะ

Read More…