[Dev Tip] เมื่อ If ครอง Code

ช่วงนี้ก็ได้ลงมือเขียนโค๊ตอยู่หลายๆ งานอยู่เลยทำให้นึกถึงตัวเองตอนหัดเขียนโปรแกรมใหม่ๆ ที่มักจะเขียน If แบบถล่มทลายเลยทีเดียว เช่น

if ()
{
   if ()
   {
      if ()
      {
        if ()
        {

        }
      }
   }
}

If ซ้อนกันเต็มไปหมด จนโค๊ตกลายเป็น Wave กันเลยทีเดียว แต่ตอนนั้นก็กลับมาถามตัวเองเหมือนกันว่า ทำไมเราถึงเขียนออกมาแบบนั้น แล้วถ้าโปรแกรมเรามีคนเอาไปทำต่อ มันจะเป็นยังไงหว่า อะไรทำนองนั้นกันเลยทีเดียว

แล้วทำไมเราถึงเขียน Code แบบนี้ออกมาได้ ?

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

Refactor Code คืออะไร ?

มันคือการแก้ Code ที่เราเขียนจนรันได้เรียบร้อยแล้ว ให้ สั้นลง กระชับ อ่านง่ายมากขึ้น และที่สำคัญคือลดความซับซ้อนของตัว Code ลง เหมือนกับถ้าเรามองโปรแกรมของเราเหมือน เครื่องบิน ลำนึง ในการที่เครื่องบินจะบินได้ดี มันก็ต้องเบา แต่ยังคงความแข็งแรงได้เหมือนเดิม เราอาจจะต้องเอานั่นเอง เปลี่ยนนี่หน่อย เพื่อให้ได้เครื่องบินที่เบาที่สุด และแข็งแรงที่สุดในเวลาเดียวกันนั่นเอง
ดังนั้นการ Refactor Code ของเรานั้นเป็นเรื่องที่ผมว่าค่อนข้างสำคัญอยู่เหมือนกัน เพราะว่า คนเรา ตอนคิด ตอนเขียน เราอาจจะมองภาพรวมของมันไม่ออกก็ได้ แต่หลังจากที่เราเขียนจนเสร็จแล้ว มันก็น่าจะทำให้เราเห็นภาพรวมของมันได้ง่ายขึ้น ทำให้เราสามารถแก้โค๊ตของเราได้ถูกจุด กระชับ และทำงานได้รวดเร็วมากขึ้น