ทำไม Method หรือ Function ที่ดีควรมีความยาวไม่เกิน 1 หน้าจอ หรือ 20 บรรทัด หรือ กฏอื่นๆอีกมากมาย

Method20Line

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

  • Method ที่เขียนขึ้นมาควรจะไม่เกิน 20 บรรทัด หรือ แสดงไม่เกินไม่เกิน 1 หน้าจอ
  • การกำหนด Tab เยื้องของ IF ELSE และไม่ควรมี IF ซ้อนกันเกิน 3 ชั้น (ข้อหลังๆนี่ IDE ส่วนใหญ่มันจะ Auto Indent ให้แล้ว ไม่ต้องมาจัดเอง)
  • และกฎอื่นๆอีกมากมาย แต่บางข้อก็ดีอยู่แล้วนะ เช่น แนวทางการ raise exception หรือ การจัดการ Resource เป็นต้น

หากเรามองแค่ผิวเผินแล้ว อาจจะคิดในใจว่าต้องการความเป็นระเบียบ ให้ Code สวยงาม เพื่อที่เรา หรือคนอื่นมาเขียนต่อภายหลังได้ง่าย แต่ถ้ามองลึกๆลงไป มันอาจจะเป็นกุศโลบายอย่างหนึ่งก็ได้ ซึ่งแฝงไปด้วยแนวคิด และทฤษฏีที่ซับซ้อน โดยผมจะอธิบาย แต่ละข้อเลยยะครับ

ข้อแรก Method ที่เขียนขึ้นมาควรจะไม่เกิน 20 บรรทัด หรือ แสดงไม่เกินไม่เกิน 1 หน้าจอ

หากเรามองลึกลงไป ทำไมต้องไม่เกิน 20 บรรทัด หรือ 1 หน้าจอ ซึ่งแนวคิดนี้จะลึกให้เราต้องกำหนดการทำงานของ Method ให้กระชับ และมีหน้าที่เดียว

ข้อสอง การกำหนด Tab เยื้องของ IF ELSE และไม่ควรมี IF ซ้อนกันเกิน 3 ชั้น

ทีมีการกำหนดให้แสดงการกำหนด Tab เยื้องของ IF ELSE เพิ่มความสวยงามแหละ และแสดงให้เห็นถึงความซับซ้อนของ code มองง่ายๆ เลย ถ้า Code ทีเราเขียนขึ้นมามี IF ซ้อนกันเยอะแล้วเนี่ย แสดงว่า logic ภายใน method นั้นมันซับซ้อนเกินไป ซึ่งจะมีผลกับการ maintain code ในอนาคต ถ้าเกิดมีการเพิ่มเงื่อนไขลงไปอีก แต่เราจะรู้ได้อย่างไรว่ามันจะไม่ไปกระทบกับ IF เดิมๆ ที่มีอยู่ก่อนแล้ว

แนวทางแก้ไข

ทางแก้ไขมีง่าย แต่มีศัพท์เรียกรวมๆว่าการ Refactor Code แต่เราจะ Refactor อย่างไร มีแนวคิด และแนวคิดที่เข้ามาช่วย ดังนี้


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.