Fundamental of Programming

ส่วนตัว เราเชื่อว่า fundamental ที่สุดของ programming comes down มาเป็นสองเรื่อง

  1. How does code effect computer
  2. How does code effect human mind

How does code effect computer?

หมายถึงว่าเราเข้าใจดีว่าโค้ดก้อนนี้ คำสั่งแบบนี้ มันสั่งงานให้คอมพิวเตอร์ทำงานอะไรบ้าง ข้างในมันมีการคิดอย่างไรทำอย่างไร คอมพิวเตอร์มันเหนื่อยแค่ไหนในการประมวลคำสั่งนี้ มันต้องผ่าน Network หรือผ่านอุปกรณ์ Hardware ตัวไหนบ้าง การรู้ตรงนี้ทำให้เราสามารถ Optimize และเป็นพ่อมดที่สั่งการคอมพิวเตอร์ให้ทำในสิ่งที่ต้องการได้

How does code effect human mind?

หมายถึงเราเข้าใจว่าการเขียนโค้ดแบบนี้มันกระทบต่อวิธีคิด กระทบต่อสมองของคนอ่านและคนแก้ไขโค้ดอย่างไรบ้าง การเขียน Functional มันทำให้คนอ่านเปลี่ยนความคิดอย่างไร Workload ในหัวสมองของเขาขณะอ่านเป็นอย่างไร เขารู้สึกหงุดหงิดหรือรู้สึกสบายตาเวลาอ่านเวลาแก้ไข Context ที่เขาต้องรับมันเยอะขนาดไหน แล้วเขามั่นใจขนาดไหนเวลาเห็นว่ามันจะทำงานถูกต้อง มันใช้เวลาขนาดไหนในการที่เขาจะ Figure out ว่าโค้ดทำอะไร มันใช้เวลาขนาดไหนกว่าคนจะมองออกว่าจะแก้ไขโค้ดนี้ได้อย่างไรบ้าง


ตั้งแต่เริ่มเขียนบล็อกเกี่ยวกับโปรแกรมมิ่ง ส่วนตัวเราจะเขียนเกี่ยวกับเทคนิคต่างๆ น้อยมาก แต่แทบทุกบล็อกทุกบทความ จะกลับมาในสองคำถามพื้นฐานนี้เสมอ เช่น “เห็นโค้ดแบบนี้แล้วคนจะคิดแบบนี้เพราะ….” “โค้ดแบบนี้คอมจะทำงานยังไง”

แม้แต่ตอนที่เขียนเกี่ยวกับ TDD ก็จะกลับมาที่คำถามพื้นฐานแบบนี้ อย่างตอนเขียน Paranoid test ก็เขียนว่า “วางแผนเทสแบบนี้ พอเทสพัง คนอ่านเจอแดง 20 ตัวเขาก็มึนสิ” ตรงนี้เราโฟกัสว่า เขียนแบบนี้มัน Effect human mind ยังไงบ้าง

เราชอบวิธีการมองแบบนี้มากกว่าการบอกว่า “ห้ามวางแผนเทสแบบนี้นะ เพราะมันผิดหลักการออกแบบ xxx”

คือ การอิงหลักการไม่ใช่ไม่ดีนะ แต่ทุกครั้งที่อิงหลักการ เราก็ชอบพยายามกลับมาไล่จนสุดว่า อ้าว แล้วสุดท้ายหลักการที่ว่ามันมีผลอย่างไรต่อคอม และต่อคนอ่าน เราชอบที่จะตั้งคำถามตรงนี้เพิ่มเติมเสมอกับทุกหลักการที่อ่านก่อนอ้างอิง

เพราะสุดท้ายเราเชื่อว่าหลักการที่ดี เทคนิคท่าต่างๆ แก่นแท้ของมัน ก็กลับมาจบที่สองคำถามนี้เสมอ

คุณเขียนแบบนี้ คอมทำอะไร และคนอ่านโค้ดรู้สึกยังไง

แล้วเราไม่อยากให้ลืมพื้นฐานที่สุดตรงนี้ไป

และนี่เป็นเหตุผลนึงที่เรารู้สึกว่าโปรแกรมเมอร์ที่ดีต้องมีความเข้าใจมนุษย์ด้วยกันสูงด้วยเช่นกัน

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.