เข้าใจโค้ดแทนที่จะแค่ท่องจำไวยากรณ์ (Syntax)

นักพัฒนาหน้าใหม่ (Junior developers) หลายคนรู้สึกกดดันที่ต้องเรียนรู้ทุกส่วนของภาษาหนึ่งๆ พวกเขาพยายามอ่านหนังสือให้จบเล่มก่อนที่จะเริ่มลงมือสร้างจริง

นี่คือแนวทางที่ผิด

การพัฒนาซอฟต์แวร์ที่แท้จริงไม่ใช่เรื่องของการท่องจำ เป้าหมายคือการเข้าใจโค้ดให้ดีพอที่จะอ่านได้ อธิบายได้ ดีบั๊ก (debug) ได้ และนำไปใช้ในโปรเจกต์จริงได้

เลิกทำตามบทช่วยสอน (tutorials) ด้วยการแค่ก๊อปปี้โค้ดตาม ถ้าโค้ดพังแล้วคุณไม่รู้ว่าเพราะอะไร แสดงว่าคุณยังไม่ได้เรียนรู้อะไรเลย

แบ่งการเรียนรู้ออกเป็น 3 ระดับ:

  1. พื้นฐาน (The Foundation) เน้นที่ตรรกะ (logic) สำหรับ JavaScript ให้เชี่ยวชาญเรื่องเหล่านี้:
  • Variables และ types
  • Functions และ loops
  • Arrays และ objects
  • Async/await
  • Error handling
  1. เฟรมเวิร์ก (Frameworks) เฟรมเวิร์กอย่าง React เป็นเพียงวิธีการที่มีโครงสร้างในการใช้ภาษาที่คุณเรียนมา อย่าถามแค่ว่าจะใช้เฟรมเวิร์กอย่างไร แต่ให้ถามว่าเฟรมเวิร์กนั้นกำลังใช้แนวคิด (concept) อะไรของภาษาอยู่

  2. สภาพแวดล้อม (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