ผมเรียนรู้อะไรจากการเขียนโปรแกรมใช้เอง (8) - วิกฤติคือโอกาส


"ในวิกฤติ มีโอกาส"

คำขวัญประจำใจของใครหลายคน

ผมเคยเจอกับตัวเองในตอนเริ่มหัดเขียนโปรแกรม

สมัยนั้น เวลาจะพิมพ์งาน ต้องทำใน DOS และโปรแกรมเอกสาร ต้องรันไดร์เวอร์ภาษาไทยเสียก่อน

งานเอกสาร มักเป็นเรื่องเร่งด่วน เมื่อเคลียร์เสร็จ มีเวลา ผมก็นั่งหัดเขียนโปรแกรมต่อ

เกิดปัญหาที่คาดไม่ถึง compiler ที่ผมใช้ ไม่ยอมทำงานบางคำสั่ง ซึ่งเป็นคำสั่งแบบ interactive ถามตอบกับผู้ใช้

ยุ่งเลยครับ เพราะลงว่าโปรแกรมไม่สนใจรับรู้คำสั่งจากเรา แล้วโปรแกรมจะทำอะไรได้อีก ?

ผมจึงต้องแก้ปัญหาโดยการเก็บคำสั่งและข้อมูลไว้ใน text file

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

อย่างเช่น การเก็บ configuration ของโปรแกรมไว้ใน text file ทำให้โปรแกรมสามารถปรับตัวได้อย่างยืดหยุ่น เพิ่มอายุการใช้งานได้โดยไม่ต้องเขียนใหม่ ทั้งที่บางครั้ง สภาพแวดล้อมเปลี่ยนไปมาก

configuration file ก็คือเก็บพฤติกรรมของโปรแกรมไว้นอกโปรแกรม และเราสามารถดัดแปลงพฤติกรรมโปรแกรมได้ โดยไม่ต้องเขียนโปรแกรมใหม่ แต่แก้ตรงลงใน text file ที่เป็นตัวควบคุมแทน

ลองยกตัวอย่าง สมมติว่าเขียนโปรแกรมออกใบเสร็จ แล้วเอา VAT 7 % ฝังไว้ในโปรแกรม หากวันไหนรัฐบาลประกาศเปลี่ยน 7 % เป็นเลขอื่น ่ก็ต้องแจ้นไปหาผู้พัฒนาให้รื้อระบบใหม่หมด

แต่ถ้าแยก VAT ออกมาเก็บใน configuration file ข้างนอก เราก็ไม่ต้องเขียนโปรแกรมใหม่ เพียงแต่เข้าไปคุ้ยหาใน configuration file แทน ว่าประกาศตัวเลข VAT = 7% ตรงไหน แล้วแก้ตรงนั้น ก็เสร็จ 

ผมมาทราบภายหลังด้วยความบังเอิญว่า ที่ compiler เกิดอาการดื้อแพ่ง จะเกิดเฉพาะหลังจากผมพิมพ์งานเอกสารแล้วเท่านั้น แต่ถ่้าบู้ทเครื่องแล้วใช้ compiler เลย ไม่เจอปัญหา ตรวจหาสาเหตุ จึงถึงบางอ้อว่า ที่แท้เกิดจาก thai driver นี่เอง ! ถ้ารัน thai driver ก่อนทีไร ตัว compiler รวนทุกที

มองย้อนกลับ ต้องถือว่าผมโชคดี ที่ Thai Driver สร้างปัญหาให้ผมในตอนนั้น ทำให้ผมจำเป็นต้องเรียนรู้ทักษะที่มีประโยชน์ในระยะยาว 

 

คำสำคัญ (Tags): #programming
หมายเลขบันทึก: 94838เขียนเมื่อ 7 พฤษภาคม 2007 17:12 น. ()แก้ไขเมื่อ 14 มิถุนายน 2012 21:34 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท