Screen Shot 2557-12-30 at 6.01.16 PM
เรื่องที่ 15 ที่นักพัฒนาควรรู้ และ เข้าใจก็คือ The Boy Scout Rule
หรือ กฎของลูกเสือ มันเกี่ยวกับการพัฒนา software อย่างไรกันนะ ?

กฎกล่าวไว้ว่า

ทุกๆ ครั้งที่คุณออกจากที่ตั้ง camp นั้น
มันจะต้องสะอาดกว่าตอนที่คุณมาตั้ง camp เสมอนะ

ดังนั้น ถ้าก่อนที่คุณจะตั้ง camp เห็นว่ามีเศษขยะ รกเต็มพื้นไปหมด
ให้คุณทำความสะอาดซะ หรือ เก็บขยะให้มันรกน้อยลงไป
เพื่อทำให้ camp สะอาดขึ้น
ซึ่งเป็นการช่วยให้กลุ่มที่มาตั้ง camp ต่อไปสะดวกขึ้น

ถ้าคุณทำตามกฎนี้ ในการเขียน code ล่ะ !!

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

คุณคิดว่าผลที่ได้กลับมาจะเป็นเช่นไร ?

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

ผมคิดว่า Boy Scout Rule มันเป็นกฎที่เรียบง่ายมากๆ

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

ตัวอย่าง การปรับปรุง code เล็กๆ น้อยๆ

  • การปรับปรุงชื่อของตัวแปร
  • แยก method/function ที่มันยาวๆ ออกมาเป็น method/function ย่อยๆ ซะ
  • แยก code ที่มันผูกมัดกันออกมาซะ เช่น การใช้ interface หรือ abstraction class

โดยสรุปแล้ว

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

ดังนั้นเราในฐานนะนักพัฒนา software
ควรที่จะปฏิบัติตามกฎ Boy Scout Rule
เพราะว่ามันไม่ใช่ดีต่อคุณเพียงอย่างเดียว
แต่มันยังส่งผลดีต่อทีมด้วย

เริ่มต้นเสียตั้งแต่วันนี้ครับ