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

แปลและสรุปเรื่อง Ten Things A *Serious* JavaScript Developer Should Learn

$
0
0

จากบทความเรื่อง Ten Things A Serious JavaScript Developer Should Learn ได้สรุป 10 เรื่องที่ JavaScript Developer ควรเรียนรู้ เพื่อช่วยให้เราเป็นนักพัฒนาที่ดีกว่าเดิม จึงได้ทำการสรุปและแปลในสิ่งที่น่าสนใจไว้นิดหน่อย น่าจะพอเป็นประโยชน์บ้างนะ
โดยเริ่มต้นมาจากคำถามใน Reddit “What 10 Things Should a Serious Javascript Developer Know Right Now?”

เรื่องที่ 1 พื้นฐานของภาษา JavaScript (Core language)

ด้วยตัวภาษา JavaScript นั้นไม่ได้ซับซ้อนอะไรมากนัก ทั้งขนาดและจำนวน standard library ต่าง ๆ แต่ว่าหลายสิ่งอย่างเกี่ยวกับ JavaScript มันทำให้มีความซับซ้อนมาก ทั้ง APIs ต่าง ๆ ทั้ง jQuery ทั้ง React ทั้ง TypeScript ทั้ง ES5/6/7 ทั้ง library ต่าง ๆ จาก NPM ดังนั้นสิ่งแรกที่ต้องศึกษาและเข้าใจคือ พื้นฐานของ JavaScript นี่เอง ประกอบไปด้วย
  • if/else
  • การจัดการ error handling ด้วย try/catch/throw
  • การจัดการ array ทั้ง push/map/reduce/filter
  • การจัดการ string ทั้ง replace/slice/split
  • การจัดการข้อมูลในรูปแบบ JSON
รวมไปถึงความสามารถใหม่ ๆ ที่เพิ่มเข้ามา เช่น async-await, Promise และ module เป็นต้น ช่วยทำให้เราเข้าใจสิ่งต่าง ๆ มากขึ้น ช่วยทำให้เรียนรู้สิ่งต่าง ๆ ได้รวดเร็วขึ้นอีกด้วย โดยหนังสือที่แนะนำให้อ่านคือ Eloquent Javascript และบทความเรื่อง How to follow the JavaScript roadmap ?

เรื่องที่ 2 เข้าใจเรื่อง Async code (Asynchonous)

เป็น code ที่เจอเป็นปกติของระบบที่พัฒนาด้วยภาษา JavaScript โดยผลการทำงานจะไม่ตอบกลับโดยทันที ซึ่งจะขัดแย้งกับภาษาอื่น ๆ พอสมควร สำหรับผู้เริ่มต้นอาจจะทำให้เกิดความเข้าใจผิดได้ สิ่งที่ควรเรียนรู้ประกอบไปด้วย
  • Callback
  • Promise
  • Event loop
จากนั้นลองเขียน code ด้วย standard library เช่น setTimeout และ fetch เป็นต้น รวมไปถึง feature ใหม่อย่างเช่น async-await และ RxJS
สิ่งที่สำคัญมาก ๆ คือ การลงมือใช้งานและเขียน async code ขึ้นมา เพื่อเรียนรู้และเข้าใจรูปแบบการทำงานอย่างแท้จริง

เรื่องที่ 3 ต้องใช้เครื่องมือในการพัฒนาให้คล่องแคล่ว

ความสามารถที่สำคัญของ JavaScript developer คือ สามารถ debug หรือค้นหาต้นเหตุของปัญหา รวมทั้งการทำความเข้าใจว่า code ของระบบทำงานอย่างไร โดยที่เครื่องมือต่าง ๆ สำหรับภาษา JavaScript นั้นมีมากมายให้เลือกใช้งาน ทั้ง browser เช่น Developer Tool ใน Google Chrome ทั้ง debugger ต่าง ๆ ใน IDE เช่น VSCode, WebStorm และ Atom เป็นต้น ดังนั้นนักพัฒนาจำเป็นต้องเชี่ยวชาญในเครื่องมือต่าง ๆ เหล่านี้ มิเช่นนั้นงานของคุณจะยากขึ้นอย่างมาก

เรื่องที่ 4 เรียนรู้งานการออกแบบขั้นพื้นฐาน

จะเรียนรู้เพียง JavaScript อย่างเดียวมันคงยังไม่พอ มันดูจะปิดกั้นเกินไปสักหน่อย ดังนั้นสิ่งที่ควรศึกษาเพิ่มเติมคือ HTML และ CSS จากนั้นทำการศึกษาเรื่องอื่น ๆ เพิ่มเติม เช่น

เรื่องที่ 5 เรียนรู้เกี่ยวกับการจัดการข้อมูลผ่านระบบ Network และ HTTP APIs

สิ่งที่นักพัฒนาต้องไม่พลาดหรือขาดไปคือ ความรู้พื้นฐานเกี่ยวกับระบบ Network ยิ่งความรู้เรื่อง HTTP protocol น่าจะขาดไม่ได้เลย ซึ่งสามารถนำมาต่อยอดในเรื่องของ REST APIs และ AJAX ได้อีกด้วย รวมไปถึงการเรียกใช้งาน APIs ต่าง ๆ ด้วย JavaScript อีกด้วย เรื่องเหล่านี้ไม่น่าจะต้องมาพูดคุยว่าทำอย่างไรอีกแล้ว น่าจะมาคุยว่าทำอย่างไรให้ดีมากกว่า

เรื่องที่ 6 ควรจะต้องรู้ว่าจะใช้ framework หรือ โครงสร้างระบบอย่างไร ในแต่ละงาน

การเลือกเครื่องมือ การเลือก framework การวางโครงสร้างของระบบ ให้เหมาะกับขนาดของงาน เป็นสิ่งที่สำคัญมาก ๆ ทั้งต่อการพัฒนาและดูแลระบบต่อไป ดังนั้นก่อนจะลงมือทำอะไร หรือ เลือกอะไร ต้องมีความรู้ความเข้าใจใน architecture โดยรวมทั้งหมดของระบบก่อน รู้และเข้าใจปัญหาที่ต้องแก้ไข จากนั้นจึงเลือกสิ่งที่เหมาะสม
มิเช่นนั้นแทนที่จะมาช่วยแก้ไขปัญหา อาจจะกลับมาเป็นตัวสร้างปัญหาก็เป็นไปได้
ปล. อย่าลืมศึกษาเครื่องมือและ framework ต่าง ๆ ไว้ด้วย เพื่อทำให้เราเข้าใจว่าแต่ละอย่างถูกสร้างมาเพื่ออะไร และ เหมาะกับงานลักษณะไหน

เรื่องที่ 7 ต้องเรียนรู้สิ่งใหม่ ๆ อยู่อย่างสม่ำเสมอ

เนื่องจาก JavaScript และสิ่งที่เกี่ยวข้องเปลี่ยนไปเร็วมาก ๆ ที่สำคัญจำนวนก็เยอะมาก ๆ เช่นกัน ดังนั้นความสามารถในการเรียนรู้สิ่งต่าง ๆ ก็ต้องรวดเร็วเช่นกัน เพื่อทำให้รู้ เพื่อทำให้เข้าใจ ว่าถูกสร้างมาเพื่ออะไร แก้ไขปัญหาอะไร ดังนั้นการเลือกแหล่งข้อมูลในการเรียนรู้และติดตามข่าวสารก็สำคัญ ยกตัวอย่างเช่น ปล. การเรียนรู้ไม่ใช่การนำมาใช้งานนะ !!
ยังมีเรื่องอื่น ๆ อีกนะครับ สามารถอ่านเพิ่มเติมได้ที่ Ten Things A Serious JavaScript Developer Should Learn

Viewing all articles
Browse latest Browse all 1997

Trending Articles