Tutorial

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

By Arnon Puitrakul - 14 กรกฎาคม 2015

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

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

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

        }
      }
   }
}

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

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

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

Refactor Code คืออะไร ?

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

Read Next...

ติดตั้ง Zigbee Dongle บน Synology NAS กับ Home Assistant

ติดตั้ง Zigbee Dongle บน Synology NAS กับ Home Assistant

ก่อนหน้านี้เราเปลี่ยนมาใช้ Zigbee Dongle กับ Home Assistant พบว่าเสถียรขึ้นเยอะมาก อุปกรณ์แทบไม่หลุดออกจากระบบเลย แต่การติดตั้งมันเข้ากับ Synology DSM นั้นมีรายละเอียดมากกว่าอันอื่นนิดหน่อย วันนี้เราจะมาเล่าวิธีการเพื่อใครเอาไปทำกัน...

โหลด CSV วิธีไหนเร็วที่สุด ?

โหลด CSV วิธีไหนเร็วที่สุด ?

เมื่อหลายวันก่อนมีพี่ที่รู้จักกันมาถามว่า เราจะโหลด CSV ยังไงให้เร็วที่สุด เป็นคำถามที่ดูเหมือนง่ายนะ แต่พอมานั่งคิด ๆ ต่อ เห้ย มันมีอะไรสนุก ๆ ในนั้นเยอะเลยนี่หว่า วันนี้เราจะมาเล่าให้อ่านกันว่า มันมีวิธีการอย่างไรบ้าง และวิธีไหนเร็วที่สุด เหมาะกับงานแบบไหน...

ฮาวทู Sync Obsidian Note ด้วย LiveSync Plugin

ฮาวทู Sync Obsidian Note ด้วย LiveSync Plugin

ตั้งแต่ใช้ Obsidian เป็น App จด Note หลัก ชอบวิธีการจัดการมาก ๆ เมื่อใช้งานร่วมกับ Plugin ต่าง ๆ ยิ่งทำให้การใช้งานยืดหยุ่นมากกว่าเดิมอีกเยอะมาก ๆ ติดอยู่เรื่องเดียวคือ การใช้งานในหลาย ๆ อุปกรณ์ แต่เราเจอ Plugin ตัวนึงที่น่าสนใจมาก ๆ คือ LiveSync วันนี้เราจะมาเล่าวิธีการติดตั้ง และใช้งานมันกัน...

การสร้าง SSD Storage Pool บน Synology DSM

การสร้าง SSD Storage Pool บน Synology DSM

สำหรับคนที่ใช้ Synology NAS บางรุ่นจะมีช่อง M.2 สำหรับเสียบ NVMe SSD โดยพื้นฐาน Synology บอกว่ามันสำหรับการทำ Cache แต่ถ้าเราต้องการเอามันมาทำเป็น Storage ละ มันจะทำได้มั้ย วันนี้เราจะมาเล่าวิธีการทำกัน...