เข้าใจโค้ดแทนที่จะแค่ท่องจำไวยากรณ์ (Syntax)
นักพัฒนาหน้าใหม่ (Junior developers) หลายคนรู้สึกกดดันที่ต้องเรียนรู้ทุกส่วนของภาษาหนึ่งๆ พวกเขาพยายามอ่านหนังสือให้จบเล่มก่อนที่จะเริ่มลงมือสร้างจริง
นี่คือแนวทางที่ผิด
การพัฒนาซอฟต์แวร์ที่แท้จริงไม่ใช่เรื่องของการท่องจำ เป้าหมายคือการเข้าใจโค้ดให้ดีพอที่จะอ่านได้ อธิบายได้ ดีบั๊ก (debug) ได้ และนำไปใช้ในโปรเจกต์จริงได้
เลิกทำตามบทช่วยสอน (tutorials) ด้วยการแค่ก๊อปปี้โค้ดตาม ถ้าโค้ดพังแล้วคุณไม่รู้ว่าเพราะอะไร แสดงว่าคุณยังไม่ได้เรียนรู้อะไรเลย
แบ่งการเรียนรู้ออกเป็น 3 ระดับ:
- พื้นฐาน (The Foundation) เน้นที่ตรรกะ (logic) สำหรับ JavaScript ให้เชี่ยวชาญเรื่องเหล่านี้:
- Variables และ types
- Functions และ loops
- Arrays และ objects
- Async/await
- Error handling
เฟรมเวิร์ก (Frameworks) เฟรมเวิร์กอย่าง React เป็นเพียงวิธีการที่มีโครงสร้างในการใช้ภาษาที่คุณเรียนมา อย่าถามแค่ว่าจะใช้เฟรมเวิร์กอย่างไร แต่ให้ถามว่าเฟรมเวิร์กนั้นกำลังใช้แนวคิด (concept) อะไรของภาษาอยู่
สภาพแวดล้อม (The Environment) เรียนรู้วิธีที่โค้ดทำงานและถูกนำไปใช้งานจริง ซึ่งรวมถึง:
- Git และ GitHub
- Terminal และ npm
- Debugging tools
- Deployment basics
ใช้รายการตรวจสอบ (checklist) นี้เมื่อคุณเขียนหรืออ่านโค้ด:
- มันแก้ปัญหาได้จริงไหม?
- คนอื่นสามารถเข้าใจมันได้อย่างรวดเร็วหรือไม่?
- ชื่อสื่อความหมายชัดเจนไหม? ใช้
function calculateTotalWithTaxแทนที่จะเป็นfunction calc - มันซับซ้อนเกินไปไหม? โค้ดที่เรียบง่ายดีกว่าโค้ดที่ดูฉลาดแต่เข้าใจยาก
- จะเกิดอะไรขึ้นถ้ามีบางอย่างผิดพลาด? จงจัดการกับข้อผิดพลาด (errors) ของคุณ
- คุณสามารถติดตามข้อมูลได้ไหม? ต้องรู้ว่าข้อมูลไหลเข้าและออกจากฟังก์ชันอย่างไร
สร้างความมั่นใจด้วยนิสัยประจำวันเหล่านี้:
- อธิบายคอมโพเนนต์ (component) ด้วยภาษาที่เข้าใจง่าย ระบุวัตถุประสงค์, input และ output ของมัน
- อย่าแค่ก๊อปปี้ ลองเปลี่ยนฟีเจอร์หรือเพิ่มอะไรใหม่ๆ เข้าไป
- ลองทำให้มันพังด้วยความตั้งใจ ลองเปลี่ยนการ import หรือเปลี่ยนตัวแปร อ่านข้อผิดพลาดที่เกิดขึ้น แล้วแก้ไขมัน
คุณไม่จำเป็นต้องรู้ภาษาหนึ่งๆ แบบ 100% คุณคือ Junior developer ก็ต่อเมื่อคุณสามารถสร้างฟีเจอร์, ดีบั๊กข้อผิดพลาด และอธิบายการตัดสินใจของคุณได้
เน้นความคล่องแคล่วในการใช้งานจริง ในการสัมภาษณ์งาน จงแสดงให้เห็นว่าคุณสามารถคิดอย่างเป็นระบบและเรียนรู้ได้รวดเร็ว
เลิกท่องจำ แล้วเริ่มอ่าน
ที่มา: https://dev.to/dhruvtechdev/understand-code-instead-of-just-memorizing-syntax-3gje
