20210212 [CHULA MOOC] Attacking The Real World with Python

คอร์สนี้ติดลมมาจากคอร์ส Data Science Pathway ที่พึ่งเรียนจบไปในโพสต์ก่อนหน้า เป็นคอร์สที่ไม่เน้นทฤษฎีมาก เน้นจับมือทำอย่างเดียวเลยฮ่าๆ ^^

สำหรับรายละเอียดคอร์สสามารถดูเพิ่มเติมได้ ที่นี่ ครับ

คอร์สนี้ผมลงเพื่อเรียนรู้หลักการเขียนโค้ดในรูปแบบต่างๆ ซึ่งจะช่วยเป็นพื้นฐาน (Foundation) ในการต่อยอดได้ในอนาคตครับ 

ปล. Certificate of my Attacking The Real World With Python

Pseudo Code พิมพ์เขียวของโปรแกรมเมอร์ 

สำหรับคนที่ลงทะเบียนเรียนคอร์สนี้คงจะสังเกตได้ว่า ก่อนจะลงมือเขียนโค้ดอะไรสักอย่าง อ. จะมีการอธิบายถึงเป้าหมาย (Why) ของการเขียนโค้ดก่อน เพื่อให้ทราบจุดประสงค์ของการเขียนโค้ดก่อน

พอเราทราบเป้าหมายแล้ว เราค่อยวางแผนที่จะเขียนโค้ดโดยทำเป็น Pseudo Code ก่อนว่าหลักการทำงานของโค้ดจะต้องทำงานอย่างไรบ้าง (How) จากนั้นจึงค่อยลงมือเขียนโค้ดจริง 

ซึ่งจะต่างจากเราหลายๆคนที่มาถึงชอบลุยกันก่อนเลย ทั้งนี้ผมไม่ได้บอกว่าการลงมือเขียนเลยตั้งแต่แรกนั้นไม่ดี เพียงแต่ในวันที่โค้ดเรามีความซับซ้อนมากขึ้นเรื่อยๆ การมีแบบแผนมีพิมพ์เขียวก่อนที่จะลงมือทำย่อมช่วยให้เราหลีกหนี Bug ได้มากขึ้น 555 

การเขียนโค้ดเพื่อให้ได้ผลลัพธ์อย่างใดอย่างหนึ่งนั้น ไม่ได้มีวิธีการเขียนวิธีเดียว!!

วิธีการในการเขียนโค้ดของแต่ละคนย่อมแตกต่างกัน ขึ้นอยู่กับความถนัด ความรู้ และปัจจัยอื่นๆอีกมากมาย ซึ่งจากตัวอย่างในคอร์สก็มีที่แสดงให้เราเห็นได้ว่า วิธีการเขียนโค้ดเพื่อตอบปัญหาหนึ่งๆนั้นไม่ได้มีเพียงวิธีเดียว!!

ยกตัวอย่างเช่น การทำ Subplot ในบทเรียนสุดท้าย เราอาจจะใช้คำสั่ง plot จาก pandas เลยก็ได้เพียงแต่อาจจะวุ่นวายในการประกาศตัวแปรสักนิดนึง อย่างไรก็ตาม เราสามารถ plot กราฟรูปแบบเดียวกันด้วย library seaborn ซึ่งช่วยลดความวุ่นวายในการเขียนโค้ดได้

หรือแม้กระทั่งการเขียนโค้ดเพื่อทำการคำนวณทางคณิตศาสตร์บางอย่างเปรียบเทียบกับการคำนวณโดยใช้ library numpy เข้ามาช่วย ซึ่งแม้จะได้ผลลัพธ์ที่เหมือนกัน แต่การใช้ numpy นั้นมีประสิทธิภาพซึ่งวัดได้ด้วยความเร็วในการประมวณผลที่สูงกว่า

ดังนั้น ถึงแม้ว่าจะเขียนโค้ดได้หลายวิธี แต่เราก็ควรเลือกวิธีที่มีประสิทธิภาพสูงที่สุดเพื่อให้เกิดประโยชน์สูงสุดนั่นเอง

บทส่งท้าย

จบแล้วสุดท้ายนี้ ก็ขอขอบคุณอาจารย์ผู้สอนที่เปิดโลกมุมมองการเขียนโค้ดใหม่ๆให้กับผมครับ สำหรับใครที่สนใจฝึกเขียนโปรแกรมมิ่งก็สามารถลองพิจารณาคอร์สนี้ดูได้ครับ 😀

 

***

Copyright © 2021 siglines - All Rights Reserved