คุณว่าอยากจะเขียนยูนิตเทสรึ

เรื่อง : คุณอยากจะเขียนยูนิตเทสอย่างนั้นรึ
Translated from : So You Wanna Write A Unit Test
Author : Russ Olsen
Thanks to Russ who allow me to translate his blog here
Russ is also the author of Design Patterns in Ruby

ผมเห็นนักพัฒนา (developers) หลายๆคน มองการเขียนยูนิตเทส ในทำนองเดียวกับที่ นักบุญออกัสตินคิดต่อการสำรวมในกาม: ข้าแต่พระเจ้า ประทานพลังแก่ข้าในการเขียนยูนิตเทสเถิด, แต่ยังก่อนอย่าพึ่งเป็นตอนนี้. เรารู้ดีว่าเราควรจะเขียนยูนิตเทส แต่เราก็คอยแต่จะผัดผ่อนมันเรื่อยมา ต่อไปนี้เป็น 5 ประการที่พึงท่องไว้ในใจ ขณะที่คุณพยายามสร้างความมุ่งมั่นในการเขียนเทส
1. อย่าเสียเวลาไปทั้งวัน
ยูนิตเทสที่ใช้เวลาประมวลผลหนึ่งชั่วโมง จะถูกประมวลผลอย่างมากสุด ชั่วโมงละหนึ่งครั้ง นี่ไม่ได้ล้อเล่นนะ [...]

อยากได้มะม่วง ก็ต้องปลูกมะม่วง

เมื่อวันก่อนได้ดูรายการของคุณดู๋ สัญญา ซึ่งมีอาจารย์วีระ ธีรภัทรมาเป็นแขกรับเชิญ ผมเปิดไปได้ดูตอนท้่ายพอดี เห็นกำลังพูดกันถึงเรื่องว่า ปี2551นี้ทิศทางของเศรษฐกิจบ้านเราจะเป็นอย่างไร อาจารย์วีระพูดว่า “อยากได้มะม่วง ก็ต้องปลูกมะม่วง” อาจารย์ไม้ได้อธิบายอย่างละเอียด ว่ามีหมายความว่าอย่างไร เท่าที่ฟังอาจารย์พูดคุยกับคุณสัญญา ผมก็จับใจความเอาเองได้ประมาณว่า ไม่่ว่าเศรษฐกิจมันจะเป็นยังไง เราอยากได้อะไร ก็ต้องเริ่มจากขั้นตอนแรกๆ ในการทำให้สิ่งนั้นเกิดขึ้นก่อน อยากได้มะม่วง ก็ต้องเริ่มจากปลูกมะม่วงก่อน ปลูกแล้วจะขายได้ไหม ขายได้เท่าไร เป็นเรื่องที่จะต้องไปตกลงกันต่อไป ซึ่งอาจจะขายได้หรือไม่ได้ก็ไม่รู้ แต่ที่แน่ๆ ถ้าไม่เริ่มปลูกมะม่วง ก็ไม่มีมะม่วงมาขาย
ผมคิดเอาเองว่า อาจารย์อาจจะอยากเตือนสติเราว่า อย่ามัวแต่ไปคิดวิตกว่า เศรษฐกิจจะเป็นอย่างโน้นอย่างนี้ คิดวิตกจริตกันมากไปจนไม่เป็นอันทำมาหากิน ไม่ว่าเศรษฐกิจจะเป็นยังไง แต่ถ้าวันนี้ไม่เริ่มทำ สิ่งที่หวังสิ่งที่รอ มันคงไม่เกิดเป็นจริงขึ้นมาได้
ฟังอาจารย์พูดแล้วผมก็นึกไปถึงคำพูดที่ว่า “ความสำเร็จเป็นของฟ้า ความพยายามเป็นของมนุษย์” เพราะบางครั้ง ชีวิตคนเราก็เป็นแต่เพียงเครื่องเล่นแห่งชะตากรรม สิ่งที่คิด สิ่งที่หวังก็ไม่ได้เป็นไปตามที่ตั้งใจ ลงทุนลงแรงเท่าไร บางครั้งก็สูญไปในพริบตา แต่ถามว่า รู้ว่ามันอาจจะไม่เป็นไปตามที่หวังอย่างนี้แล้ว จะทำยังไง จะนั่งปลงอยู่เฉยๆไปวันๆอย่างนั้นเหรอ สิ่งที่มนุษย์มีได้โดยไม่ต้องพึ่งฟ้า ก็คือความพยายาม ดิ้นรนเข้าไป ตะเกียกตะกายให้ถึงที่หวังไว้ ส่วนจะสำเร็จหรือไม่ ก็ให้เป็นลิขิตฟ้าเถิด ปลูกมะม่วงแล้วจะได้ขายไหม จะขายได้ราคาดีไหมก็ไม่รู้ [...]

I just commit a copyright violation

The story is that I have read an interesting blog entry of Russell Ball and decided to translate the whole blog entry and put it on my extra blog in which I intend to store my translated articles. A few days later Russell wrote a blog entry which, at first, made me think he didn’t [...]

สิทธิ์ส่วนตนแลกกับผลประโยชน์ส่วนรวม

วันนี้ผมได้ไปทานอาหารที่ศูนย์อาหารในห้างสรรพสินค้าแห่งหนึ่ง ตอนนั้นเป็นตอนเที่ยงผู้คนในศูนย์อาหารจึงเยอะมาก เนื่องจากผมไปคนเดียว การจะหาที่นั่งก่อนแล้วค่อยไปซื้อข้าว ก็เลยทำไม่ได้ ต้องไปซื้อข้าวก่อน แล้วค่อยไปเสี่ยงดวง เดินหาที่นั่งเอาทีหลัง ผมเดินหาอยู่กว่าสิบนาที ก็ยังไม่สามารถหาที่นั่งได้ ถ้าไม่โชคดีเดินไปถึงจุดที่มีคนกำลังลุกออกพอดี ก็ไม่มีทางจะได้ที่นั่งแน่ เพราะมีคนเดินหาที่นั่งแบบผมเยอะไปหมด ตอนเดินๆอยู่ก็เห็นบางคนกินเสร็จแล้ว แต่ก็ยังนั่งคุยกับเพื่อนบ้าง นั่งอ่านนิตยสารบ้าง ผมก็คิดในใจว่าเมื่อไรเขาจะลุกออกไปสักทีนะ คนอื่นจะได้มีที่นั่งกินข้าวบ้าง ฉัับพลันความทรงจำหนึ่งก็ผุดขึ้นมาในสมอง ผมเคยเจอเหตุการณ์แบบนี้มาแล้วนี่นา
ตอนนั้นผมกำลังต่อคิวเพื่อทำการลงทะเบียนวิชาเรียน สมัยนั้นระบบลงทะเบียนออนไลน์ยังไม่มีให้ใช้ (กี่ปีมาแล้วละนั่น) นักศึกษาต้องไปเข้าแถวแต่เช้า เพื่อยื่นใบขอลงทะเบียนในการเรียนวิชานั้นๆ แล้วมันก็จะมีปัญหาประเภทว่า วิชานั้นรับคนเข้าเรียนต็มแล้ว (ในกรณีที่เป็นวิชาเลือก) หรือ section ที่เราอยากจะเรียนนั้นคนเต็มแล้ว ไม่อยากไปลง section อื่น อาจเป็นเพราะอยากเรียนกับอาจารย์ที่สอนใน section นี้มากกว่า หรือว่าเวลาสอนของ section นี้ตรงกับตารางเวลาเรียนที่เราได้จัดไว้แล้ว ทำให้การยื่นขอลงทะเบียน ของนักศึกษาแต่ละคน มักจะต้องมีการปรับเปลี่ยนอะไรบางอย่าง ไม่มากก็น้อย ตอนนั้นผมจำรายละเอียดได้ไม่แน่ชัด เหมือนกับว่าผมกำลังตัดสินใจ ในการเปลี่ยน section เรียนหรืออย่างไรนี่แหละ ขณะกำลังคิดอยู่นั้น ก็มีเสียงนักศึกษาหญิงคนหนึ่ง พูดขึ้นมาจากแถวข้างหลังผม ว่าให้ช่วยเร่งตัดสินใจหน่อยได้ไหม ผมก็เพียงแ่ค่หันไปดู แต่ก็ไม่ได้พูดว่าอะไร ในใจก็คิดว่า [...]