Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ไม่มีใครอยากเขียน code แย่ ๆ หรอกนะ

$
0
0

badcode

Screen Shot 2558-12-02 at 11.19.03 PM การที่จะพูด หรือ คุยกับเพื่อนร่วมงานในเรื่องของ code มันเป็นสิ่งที่ยาก และ อาจจะก่อให้เกิด drama ได้ ยิ่งเป็นเรื่อง code ที่มันแย่ ๆ (Bad code) ด้วยแล้ว ยิ่งมีความเป็นไปได้ว่า อาจถึงขั้นแตกหักได้ !! ดังนั้น เราลองเปลี่ยนการพูดแบบเบา ๆ กันหน่อยไหม ?

เริ่มด้วยการเข้าไปมีส่วนร่วม หรือ ทำงานด้วยกัน

นั่นคือ การเข้าไปทำงาน พูดคุยกันอย่างใกล้ชิด โดยการพูด และ คำถามต่าง ๆ ต้องเป็นไปอย่างสร้างสรรด้วยนะ เพื่อไม่ทำให้อีกฝ่ายเจ็บใจ และ เจ็บปวด ตัวอย่างเช่น แทนที่จะไปถามว่า method นี้ทำไมมันแย่จัง code ยาวมาก ๆ เปลี่ยนมาถามแบบนี้ดีไหม ช่วยด้วย ๆ เราเจอ Bug จาก code ใน method นี้ ในใจก็คิดว่า method นี้มันยาวมาก ๆ ไม่รู้ว่ามันทำงานอย่างไรบ้าง ? ดังนั้น มาช่วยไล่ code และ อธิบายหน่อยสิ ซึ่งเป็นการ pair programming กันนั่นเอง เพื่อหาปัญหา และ แก้ไขต่อไป เมื่อทำงานร่วมกันไปได้สักพัก แทนที่จะพูด หรือ บอกว่า method นี้มันยาวมาก ๆ ก็ให้เปลี่ยนเป็นคำถามดีกว่า เช่น method นี้ดูดีเลยนะ มีการทำงานหลายอย่างเลย มันต้องใช้เวลาเท่าไรกว่าจะเข้าใจการทำงานของมันนะ ? เพื่อนร่วมงานอาจจะตอบกลับมาว่า น่าจะ 4-5 ชั่วโมงละมั้ง ลองถามต่อไปสิว่า ถ้า method นี้มันเล็กลง จะต้องทำอย่างไรดี ? ตรงนี้เป็นคำถามปลายเปิด เพื่อให้แต่ละคนช่วยกันคิดวิธีการแก้ไข เป็นแนวทางในการทำงานร่วมกัน แทนที่จะมาทำการโต้เถียงกัน ซึ่งมันเสียเวลาไปอย่างไร้ประโยชน์สุด ๆ จำไว้ว่า อย่าถามคำถามที่จะนำพาไปสู่วิธีการที่คุณคิดไว้แล้วนะ !! ต้องเก็บอาการกันหน่อยนะ การเปลี่ยนแปลง และ ปรับปรุงจะเป็นไปอย่างค่อยเป็นค่อยไป แต่มีขอบเขตของเวลานะ
ให้เชื่อไว้เถอะว่า ไม่มีใครอยากจะเขียน code ที่มันแย่ ๆ ออก และยอมเจ็บปวด หรือ รับกรรมจาก code แย่ ๆ เหล่านั้นหรอกนะ ดังนั้น สิ่งที่ต้องทำคือ ช่วยให้เขาเข้าใจว่าอะไรบ้างที่จะทำให้ชีวิตมันดีขึ้น เพียงดีขึ้นสักหน่อยมันก็ดีขึ้นแล้วนะ

เมื่อความสัมพันธ์ต่าง ๆ เริ่มดีแล้ว ต่อไปให้เริ่มขยายผลออกไป

นั่นคือ เริ่มแนะนำแนวทาง แนวปฏิบัติใหม่ ๆ เข้าไป เช่นเริ่มให้ขยายผลไปยังคนอื่น ๆ บ้าง นั่นคือการสลับคู่ pair นั่นเอง รวมไปถึงเริ่มมี sharing session ของทีม เช่น การทำงานเป็นกลุ่ม เช่น mop programming การแบ่งปันเรื่อง refactoring สำหรับการปรับปรุง code โดยเรื่องต่าง ๆ เหล่านี้มันคือ การสร้างความสัมพันธ์ของคนภายในทีม การสร้างความไว้เนื้อเชื่อใจของคนภายในทีม ซึ่งจะต้องดูแลรักษาให้ดี และ เพิ่มขึ้นอย่างต่อเนื่อง เพื่อทำให้ทุกคนออกจาก confort zone แบบเนียน ๆ แถมได้ code ที่แจ่ม ๆ ออกมาอีกด้วย
แต่ต้องมีความอดทนสูง ให้กลั้นใจ และ เตรียมตัวให้พร้อมมาก ๆ นะ

สุดท้ายแล้ว

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

Viewing all articles
Browse latest Browse all 1997

Trending Articles