Hardcode

เส้นทางที่สั้นที่สุดที่จะทำให้ซอฟต์แวร์มีหน้าตาออกมาอย่างที่เราต้องการคือการฮาร์ดโค๊ด — วิธียอดนิยม รวดเร็วทันใจ เห็นผลทันที

  • อยากได้ชื่อคน — พิมพ์ชื่อคนลงในยูไอ
  • อยากได้วันที่ — พิมพ์ตัวเลขลงในยูไอ
  • อยากสมมติเหตุการณ์ดึงข้อมูลจากเดต้าเบสมาแสดงผล — ก็แค่สร้างไฟล์เท็กซ์ที่มีรูปแบบตามที่ตกลงไว้สักที่แล้วให้ยูไอไปอ่านมา
  • อยากสมมติเหตุการณ์เซฟข้อมูลลงไปเก็บในเดต้าเบส — ก็เขียนลูปวนสร้างข้อมูลใหม่ในยูไอก็จบ
  • อยากแสดงผลการจับคู่ข้อมูลระหว่างคนและสินค้าที่สั่งซื้อ — ก็เหมือนเดิมสร้างแมปปิ้งไฟล์ไว้ซักที่ในยูไอ อ่านมาตรงเป๊ะทุกรอบ (เค้าถึงเรียกว่าฮาร์ดโค๊ดไง)
  • อยากแสดงผลกราฟแท่งกราฟวงกลม — ง่ายสุดก็แรนดอมข้อมูลมาสักชุดแล้วยิงตรงเข้ากราฟพวกนั้นไปเลย

ฮาร์ดโค๊ด — ทุกคนเคยทำ ทุกคนรู้จัก … และทุกคน (น่าจะ) ชอบ

ยูไอดีเวลลอปเปอร์ชอบเพราะงานเหมือนจะก้าวหน้า โปรดักท์ โอนเนอร์ชอบเพราะได้เห็นของจริงเร็วกว่าต้องรอให้งานเลเยอร์ล่างๆทำเสร็จก่อน

และ

ฮาร์ดโค๊ด — คือสิ่งที่ทุกคนลืม ลืมว่ามันไม่ใช่ของจริง มันไม่เวิร์ค มันยังไม่เสร็จ และความคืบหน้าแทบจะเป็นศูนย์

เมื่อมีฮาร์ดโค๊ดก็ต้องมีรีเวิร์ค (ทำงานซ้ำ ทำงานแก้ไข) และหลายครั้งเรามักจะนึกขึ้นได้ว่า “เฮ้ย นี่มันฮาร์ดโค๊ดไว้นี่หว่า” เมื่อใกล้เวลาส่งงาน — เหมือนผมตอนนี้

“นี่ๆ อ่านข้อมูลได้แล้ว เขียนข้อมูลกลับไปได้แล้ว” — เพื่อนเรียกผมไปดูความคืบหน้าของงาน

“เออๆ โอเค แล้วนี่ดึงข้อมูลชื่อสินค้าจริงๆขึ้นมาจากเดต้าเบสแล้วใช่มั้ย?” — ผมถาม

“ยังหวะ แต่คงไม่น่ายากอะไร เลเยอร์ล่างๆเค้าทำฟังก์ชั่นไว้ให้เรียกแล้ว” — เพื่อนผมตอบมา

ผ่านไปสองวัน … การดึงข้อมูลจริงมันไม่ง่ายอย่างที่คิด

ที่ผ่านมาเราคิดว่าทุกอย่างเวิร์คเพราะบนยูไอมันเวิร์ค จนเหลือเวลาอีกสามวันจะต้องเดโม่ให้ผู้ใช้ดูเราถึงได้รู้ความจริงว่า “ไม่มีอะไรที่เวิร์คเลย”

นั่นเพราะฮาร์คโค๊ด นั่นเพราะเราเลือกวิธีการที่สั้นและง่ายที่สุด นั่นเพราะเราลืม นั่นเพราะเราโดนหลอก นั่นเพราะเราไร้วินัย และนั่นคือบาปกรรมที่เราต้องชดใช้ไม่ช้าก็เร็ว

บทเรียนครั้งนี้ค่อนข้างจะฝังลึกลงไปในใจผมมากทีเดียว (ไม่รู้เพราะอะไร อาจจะเพราะความรู้สึกโกรธตัวเองที่ใส่ใจในงานน้อยเกินไป) … บทเรียนครั้งนี้บอกผมว่า

“พอกันทีกับการฮาร์ดโค๊ดในซอฟต์แวร์จริง พอกันทีกับการเลือกวิธีการที่สั้นและมักง่ายที่สุด พอกันทีกับการใจเร็วด่วนได้ พอกันทีกับการหลอกตัวเองว่างานคืบหน้าด้วยการฮาร์ดโค๊ด”

ในการออกแบบ ในกระดาษ ในสไลด์ ในไฟล์ภาพ เราจะฮาร์ดโค๊ดฮาร์ดคอร์ยังไงก็ได้แต่ไม่ใช่ในโค๊ดจริง … ถ้าผมเดินไปบอกทีมงานแบบนี้ พวกเค้าจะดีใจหรือเสียใจ? :)

คิดและเขียนคือสิ่งที่ผมชอบ แบ่งปันคือสิ่งที่ผมรัก เพราะแบบนี้ทุกวันผมเขียนเพื่อถ่ายทอดเรื่องราวจากชีวิตจริง จากประสบการณ์ จากแนวคิด จากอนาคตที่ดีผมมองเห็น และทุกอย่างที่ผมประยุกต์ใช้เพื่อสร้างให้อินเท็นติกเป็นบ้านที่น่าอยู่ บ้านที่เป็นจุดเริ่มต้นของการเปลี่ยนแปลงเล็กๆที่สร้างความแตกต่างในสังคมได้ — มันน่าภูมิใจที่ผมรู้ว่า … ไม่ใช่มีแค่ผมคนเดียวที่อยากเห็นการพัฒนา :)

Inthentic On Facebook | Inthentic On Twitter | Inthentic On Instagram