Monthly Archives: January 2011

The Boy Scout Rule

ลูกเสือของประเทศอเมริกา เค้ามีกฎอยู่ว่า

Leave the campground cleaner than you found it.

แปลตรงๆว่า หากเราไปตั้งแคมป์ที่ไหน เมื่อจะออกจากที่นั่น ต้องทำให้ที่นั่นสะอาดขึ้นกว่าตอนที่เราพบมัน

เรื่องนี้ก็เอาประยุกต์ใช้เป็นกฎของชาวโปรแกรมเมอร์ได้เหมือนกัน ว่า

เมื่อลงไปแก้ code ส่วนไหน เมื่อทำเสร็จจงทำให้ code ส่วนนั้นอ่านง่ายขึ้นกว่าตอนที่เราเริ่มลงไปแก้มัน

ไม่จำเป็นต้องแก้จนสวยperfect อย่างน้อยก็ให้มันดีขึ้น ซักนิดก็ยังดี ถ้าทำกันได้แบบนี้ตลอด code ของเราก็จะอ่านง่ายขึ้นเรื่อยๆ ไปเอง

พอคิดถึงกฎนี้ทีไร ก็จะนึกถึงหนึ่งในศัพท์ญี่ปุ่นฮิตของวงการอุตสาหกรรม “ไคเซ็น”

boy scout rule นี่ ถือเป็นการทำไคเซ็นเพื่อให้โปรแกรมเราอ่านได้ง่ายนั่นเอง

Advertisements

Rule of three

กฎนี้จะได้ยินคนอ้างถึงบ่อยมากเวลาพูดถึงการ Refactoring จริงๆแล้ว ผมก็ไม่รู้ว่าใครเป็นคนเริ่มคนแรก พอจะเขียน post นี้เลยได้รู้จาก Wikipedia ว่ามาจาก Martin Fowler นั่นเอง

เค้าบอกไว้ว่า เวลาเราเขียนๆ โปรแกรมไปเนี้ย ถ้าเจอ code ส่วนที่ซ้ำกับส่วนที่เคยเขียนไปแล้วครั้งหนึ่ง อนุญาตให้ copy-paste ได้ แต่หากเจอเป็นครั้งที่ 3 ต้องจัดการทำความสะอาดพวกมันละ

กฎนี้มีเอาไว้เตือนใจพวกที่หมกหมุ่นกับการ clean duplication ให้เลือก clean เฉพาะสิ่งที่จำเป็นมากขึ้น

จากประสบการณ์ส่วนตัว ก็พบได้บางครั้งว่า เวลาเรา clean duplication code 2 ส่วน ซึ่งใช้เวลาไปพอสมควร แล้วมาพบภายหลังว่าสุดท้ายเราก็ไม่ได้ reuse code ส่วนนี้อีกแล้ว การ clean duplication นั้นก็ไม่คุ้มค่ากับเวลาเอาซะเลย

จากการลองทำตามดู ที่ผ่านมาก็เวิร์คนะ

เปิด blog ใหม่

เริ่มรู้สึกว่าอยากเขียนอะไร เกี่ยวกับพวก Programming ในด้านที่สนใจออกมา ส่วนหนึ่งก็เพื่อที่จะได้เป็น reference ส่วนตัว เวลานำเอาไปบอกเล่า อ้างอิงคุยกับคนอื่น คราวนี้ขอเขียนเป็นภาษาไทยละกัน สอง blog ที่มีอยู่ก็ยังคงเขียนไปตาม concept เดิม

  • ตัว Blogger ก็จะเขียน trip, trick, short note เกี่ยวกับการทำอะไรบนคอมพิวเตอร์เป็นภาษาอังกฤษ
  • ส่วน WordPress ก็จะเขียนเรื่องราวชีวิต ดราม่าๆ เหมือนเดิม

ก็ไม่รู้ว่าจะเขียนต่อเนื่องได้นานแค่ไหน มาตามดูกัน

รอด

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

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

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

ทางรถไฟไม่มีที่กั้น แต่ไม่ใช่ข้ออ้าง เป็นหน้าที่ของตัวเราที่จะพยายามรักษาชีวิตของตัวเราให้ดีที่สุด หากรถไฟพุ่งเข้ามาชนคงโดนฝั่งที่ผมนั่งอยู่เต็มๆ

พ่อเล่าให้ฟังว่า ขณะขับรถข้าม พ่อก็แปลกใจว่าทำไมรถที่สวนมาทุกคันถึงมองมาที่รถของผมด้วยสายตาแปลกๆ

ยังไม่จบแค่นี้

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

หากเหตุการณ์ทั้งสองไม่เป็นอย่างที่ผมเล่า มีความสูญเสีย ก็คงเป็นเพราะหมดเวลาของคนเหล่านั้นแล้ว

หากเป็นเราตาย เรามีอะไรที่อยากทำแล้วไม่ได้ทำ

หากเป็นคนที่เรารักตาย มีอะไรที่เราอยากทำให้เค้าแล้วไม่ได้ทำ

ทุกเรื่องพร้อมจะเกิดขึ้นจริงๆ และแก้ไขไม่ได้ อยากทำอะไรก็รีบๆทำนะครับ

จริงๆ ผมเคยเขียน blog ถึงเรื่องนี้ไว้เมื่อนานมาแล้ว เผื่ออยากอ่านเล่นกัน 23rd years old man, อีกตัวอย่างของการทำทุกวันให้ดีที่สุด

สวัสดีปีใหม่ทุกๆคนครับ

ปล. ไม่ได้เขียน blog นาน รู้สึกเขียนยากขึ้นเยอะเลย การบรรยายติดขัดมาก