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...

นายเองก็ดูเทพได้นะ ด้วย tmux น่ะ

นายเองก็ดูเทพได้นะ ด้วย tmux น่ะ

เมื่อหลายวันก่อน เราไปทำงานแล้วใช้ Terminal แบบปีศาจมาก ๆ จนเพื่อนถามว่า เราทำยังไงถึงสามารถสลับ Terminal Session ไปมาได้แบบบ้าคลั่งขนาดนั้น เบื้องหลังของผมน่ะเหรอกัปตัน ผมใช้ tmux ยังไงละ วันนี้เราจะมาแชร์ให้อ่านกันว่า มันเอามาใช้งานจริงได้อย่างไร เป็น Beginner Guide สำหรับคนที่อยากลองละกัน...

ปกป้อง Ubuntu ผ่าน Firewall แบบง่าย ๆ ด้วย UFW

ปกป้อง Ubuntu ผ่าน Firewall แบบง่าย ๆ ด้วย UFW

Firewall ถือว่าเป็นเครื่องมือในการป้องกันภัยขั้นพื้นฐานที่ปัจจุบันใคร ๆ ก็ติดตั้งใช้งานกันอยู่แล้ว แต่หากเรากำลังใช้ Ubuntu อยู่ จริง ๆ แล้วเขามี Firewall มาให้เราใช้งานได้เลยนะ มันชื่อว่า UFW วันนี้เราจะมาทำความรู้จัก และทดลองตั้ง Rule สำหรับการดักจับการเชื่อมต่อที่ไม่เกี่ยวข้องกันดีกว่า...

จัดการเรื่องแต่ละมื้อ แต่ละเดย์ด้วย Obsidian

จัดการเรื่องแต่ละมื้อ แต่ละเดย์ด้วย Obsidian

Obsidian เป็นโปรแกรมสำหรับการจด Note ที่เรียกว่า สารพัดประโยชน์มาก ๆ เราสามารถเอามาทำอะไรได้เยอะมาก ๆ หนึ่งในสิ่งที่เราเอามาทำคือ นำมาใช้เป็นระบบสำหรับการจัดการ Todo List ในแต่ละวันของเรา ทำอะไรบ้าง วันนี้เราจะมาเล่าให้อ่านกันว่า เราจัดการะบบอย่างไร...

Loop แท้ไม่มีอยู่จริง มีแต่ความจริงซึ่งคนโง่ยอมรับไม่ได้

Loop แท้ไม่มีอยู่จริง มีแต่ความจริงซึ่งคนโง่ยอมรับไม่ได้

อะ อะจ๊ะเอ๋ตัวเอง เป็นยังไงบ้างละ เมื่อหลายเดือนก่อน เราไปเล่าเรื่องกันขำ ๆ ว่า ๆ จริง ๆ แล้วพวก Loop ที่เราใช้เขียนโปรแกรมกันอยู่ มันไม่มีอยู่จริง สิ่งที่เราใช้งานกันมันพยายาม Abstract บางอย่างออกไป วันนี้เราจะมาถอดการทำงานของ Loop จริง ๆ กันว่า มันทำงานอย่างไรกันแน่ ผ่านภาษา Assembly...