Utility tools to save time during software development

23-Aug-19

คัมภีร์เทพ IT

See the original english version Click here!

 

เชื่อว่า Software Developer ทุกคนคงอยากทำงานของตัวเองให้เสร็จในเวลาที่กำหนด และงานที่ออกมาก็มีประสิทธิภาพ แต่ก็มี Developer หลาย ๆ คนที่รู้สึกท้อแท้ใจกับปัญหาต่าง ๆ ที่เจอระหว่างการพัฒนา Software สิ่งที่คุณต้องการมากที่สุดอาจไม่ใช่แรงจูงใจ แต่เป็นการเข้าใจในเครื่องมือที่คุณใช้ ซึ่งบทความนี้จะมาบอกถึงเครื่องมือที่ช่วยประหยัดเวลาในการพัฒนา Software

แม้ว่าเครื่องมือในบทความนี้อาจจะกล่าวถึงหรือยกตัวอย่างสำหรับบางภาษาและบาง Environment และถึงแม้ ณ เวลานี้ คุณจะไม่รู้สึกว่ามันมีประโยชน์สำหรับคุณ แต่ส่วนใหญ่แล้วเครื่องมือในภาษาต่าง ๆ ก็มีส่วนที่คล้ายคลึงกัน ซึ่งคุณสามารถค้นหาเครื่องมือที่เหมาะกับ Environment ของคุณได้ผ่านทาง Google ตอนนี้เรามาดูเครื่องมือเหล่านั้นกันเลย

1. Debuggers

ปัจจุบันมี Debuggers อยู่ใน IDE แทบจะทุกตัวแล้ว พวกมันช่วยให้คุณสามารถหยุดการ Execution Code ในบรรทัดที่ระบุไว้ และดำเนินการไปทีละขั้นตอน พวกมันแสดง Call Stack ของ Program ซึ่งช่วยให้คุณสามารถเข้าใจได้ว่า Function มีการเรียกใช้อย่างถูกต้องหรือไม่ นอกจากนี้ยังช่วยให้คุณสามารถติดตามตัวแปรบางตัวที่ต้องการ เพื่อที่จะได้สามารถทราบสถานะของพวกมันในทุกขั้นตอนได้

Debuggers ยังช่วยให้คุณรู้ด้วยว่า Application ของคุณกำลังใช้ Memory มากน้อยแค่ไหน การที่คุณตรวจสอบตรวจสอบการใช้งานของ Memory แบบนี้ จะช่วยลดปัญหาในเรื่องของ Memory Leaks ได้อีกด้วย 

  • สำหรับภาษา Java แล้ว Eclipse มี Built-in Debugger ใน IDE ที่คุณสามารถใช้งานพวกมันได้
  • ส่วน Node.js คุณสามารถ Start Server ด้วย Inspect Flag
  • สำหรับภาษา C, GDB ถือเป็นเครื่องมือที่ยอดเยี่ยมสำหรับภาษานี้ นอกจากนี้ยังมี Valgrind ซึ่งเป็นเครื่องมือที่ใช้สำหรับการตรวจจับ Memory Leaks ขอยกตัวอย่างเช่น หากคุณทำการจองพื้นที่ (Molloc) ใน Memory แต่ลืมที่จะปล่อยพื้นที่ กลับคืนมา ตัว Application นี้จะบอกคุณให้ทำการ Clean มันก่อนที่จะออกจาก Program
  • สำหรับ Android, Android Debugger (ADB) ถูกใช้เพื่อการเก็บ Logs จากโทรศัพท์ของคุณ ทุก App ในโทรศัพท์ของคุณมี Logs และคุณสามารถดูพวกมันได้โดยใช้ ADB ใน Android Studio ของคุณ คุณสามารถ Connect โทรศัพท์ของคุณโดยใช้สายเชื่อมต่อ หรือแม้กระทั่งผ่าน Wifi

หากคุณเป็น Front-End Web Developer ถือว่าคุณโชคดีมาก เพราะ Google Chrome แทบจะมีเครื่องมือทุกอย่างที่คุณต้องการจะใช้ใน Browser ไม่ว่าจะเป็น การตั้งค่า Breakpoints ใน JavaScript, ดู Cookie, ตรวจสอบ Network Activity หรือจะแก้ไข CSS แบบ Real Time ก็ตาม Chrome มีสิ่งเหล่านั้นทั้งหมด

2. Linters

Linters เป็นเครื่องมือที่จะช่วยชี้ให้เห็นถึงข้อบกพร่องที่อาจเกิดขึ้นใน Code ของคุณ ทุกภาษาต่างก็ถูกสร้างขึ้นเพื่อจุดประสงค์ที่แตกต่างกัน และทุกภาษามีวิธีการเขียน Code ที่เหมาะกับแต่ละภาษา โดยปกติแล้ว Linters จะถูกพิจารณาว่าเป็น Design Guides แต่การละเลยพวกมัน ก็อาจทำให้เกิดข้อผิดพลาดที่ร้ายแรงในช่วงท้าย ๆ ของการสร้าง Software ได้ หากคุณต้องการดูการ Setup สำหรับ Environment ของคุณ สามารถอ่านได้ที่นี่

3. เครื่องมืออื่น ๆ

  • Restarting Web Servers

Developer บางคนที่ทำการ Restart Applications ของพวกเขา เพื่อทำการทดสอบ Code ทุกครั้งที่พวกเขาแก้ไข Code แม้ว่าจะแก้ไขเล็กน้อยก็ตาม แล้วถ้าจะบอกคุณว่า ที่จริงแล้วมันไม่จำเป็นเลยล่ะ?

หากคุณเป็น Backend Developer ที่ Coding บน Eclipse Platform มันมี Built-in Hooks ที่จะทำการ Monitor Project และ Restart หรือ Hot-swap ใน Application Resources ของคุณเมื่อใดก็ตามที่คุณต้องการ

หากคุณ Develop ใน Node.js แล้วละก็ nodemon ถือเป็น NPM Package ที่คุณควรรู้จัก

  • Temporary Deployment

หากคุณต้องการ Demo ให้คนอื่นดู เกี่ยวกับ Web Application ของคุณซึ่งขณะนี้อยู่ในเครื่องของคุณ คุณสามารถใช้ “ngrok” ได้ และคุณเพียงแค่ให้ Link ชั่วคราวแก่พวกเขา

มันเป็น Software ที่สร้างทางเชื่อมจากเครื่องของคุณไปยัง URL บน Server ซึ่งเมื่อใดก็ตามที่ URL นั้นถูกคลิก Software จะทำการดึง File จาก Server ภายในเครื่องของคุณ

สรุป

มีเครื่องมือมากมายที่สามารถช่วยให้การ Develop ของคุณเร็วขึ้น และลดงานที่ทำแบบซ้ำ ๆ ไปเป็นการทำแบบ Automate คุณเพียงแค่ต้องค้นหาข้อมูลจาก Google เอา เพราะถ้า Computer สามารถทำได้แล้วทำไมคุณต้องทำมันเองล่ะ

ป.ล. หากคุณทำงานในบริษัท ที่สร้าง Product (ไม่ว่าจะเกี่ยวหรือไม่เกี่ยวกับ Software ก็ตาม) และกำลังอ่านบทความนี้ จงอย่าลืมตรวจสอบให้แน่ใจว่า อาจมีเครื่องมือที่สามารถใช้งานกับ Platforms ของคุณได้เช่นกัน ซึ่งเครื่องมือเหล่านั้นถูกสร้างให้เป็นมิตรกับ Developer มากขึ้น รวมทั้งช่วยทำให้การทำงานของ Developer ง่ายขึ้นอีกด้วย

ที่มา:  https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด