เมื่อสองสามสัปดาห์ก่อน โปรแกรมเมอร์หลายคน (หรืออาจจะเป็นอดีตโปรแกรมเมอร์) เริ่มสังเกตเห็นว่าโมเดล Codex ของ OpenAI เริ่มหมกมุ่นกับการเขียนโค้ดแบบป้องกันตัว (defensive coding) อย่างหนัก
ไม่มีอะไรสะท้อนเรื่องนี้ได้ดีไปกว่า isRecord ฟังก์ชันตรวจสอบที่ดูไร้สาระ เอาไว้เช็คว่าวัตถุที่คล้ายวัตถุนั้นเป็นวัตถุจริงๆ หรือเปล่า ซึ่งเริ่มปรากฏขึ้น ทุกหนทุกแห่ง
https://x.com/weswinder/status/2073959658167898594
https://x.com/cnakazawa/status/2062755985702494643
https://x.com/thdxr/status/2069927201638682976
ความแปลกประหลาดนี้กลายเป็นมีมอย่างรวดเร็ว แถมยังมีให้ใช้เป็น npm package ด้วย
เฮ้ ฉันรู้จักโค้ดนั่น
อันที่จริงผมใช้ isWhatever สำหรับฟังก์ชันช่วยเหลือที่คืนค่า boolean มาตลอด บางครั้งก็ต้องบังคับเพื่อนร่วมงานที่น่าสงสารให้ใช้เหมือนกัน ทั้งเพื่อความสอดคล้องของสไตล์โค้ด และเพราะสิ่งที่เรียกว่า “โหมดผู้ก่อตั้ง” (founder mode)
พอเห็นกระแส isRecord ท่วมไทม์ไลน์ ผมก็ต้องหยุดคิด ผม แน่ใจ ว่าเคยเห็น isRecord มาก่อน และแล้วก็จริง เมื่อค้นหาในโค้ดเบสของ tldraw ก็เจอมัน:

ฟังก์ชันตรวจสอบนี้เป็นส่วนหนึ่งของแพ็กเกจ data store ของเรา ซึ่งข้อมูลทั้งหมดใน canvas ของ tldraw จะถูกเก็บเป็นแผนที่รีแอกทีฟแบบแบนของวัตถุ หรือ “record” มันเป็นแค่การตรวจสอบง่ายๆ และเกี่ยวกับการกำหนดชนิดมากกว่าจะป้องกัน store.As เท่าที่ผมดู บรรทัดเหล่านี้คือต้นตอของ isRecord ที่โมเดลการเขียนโค้ดชื่นชอบมาก ถ้าคุณค้นหาโค้ดนี้ใน GitHub จะเจอ tldraw และสำเนาของ tldraw อีกหลายอัน ตามด้วยโค้ดใหม่ที่ Codex เขียนขึ้น

รีพอสิทอรีอื่นเดียวที่ผมเจอว่าใช้ isRecord ก่อนหน้านี้คือของ RocketChat ซึ่ง ถูกเพิ่มเข้าไป ในเดือนกรกฎาคม 2025:

ไม่ได้จะอวดนะ แต่ isRecord ของ เรา มีมาก่อนนั้นอย่างน้อยสองปี ที่จริงผมคิดว่าเราเขียน store นี้ในราวฤดูร้อนปี 2022 ถึงแม้ว่า git blame จะย้อนกลับไปได้แค่ปี 2023 ตอนที่เรา ย้ายโค้ด จากรีพอสิทอรีส่วนตัวมาเป็นสาธารณะ
10,000 ปีแห่ง isRecord
สุดท้ายนี้ ผมต้องยอมรับว่ารู้สึกภูมิใจนิดๆ ที่ได้มีอิทธิพลเล็กน้อยต่อน้ำหนักของโมเดลที่ยอดเยี่ยมเหล่านี้ ครั้งหน้าที่คุณเห็น isRecord ในโค้ดเบสของคุณ ขอให้คิดถึง tldraw ด้วยนะครับ





