จะดีกว่าไหมถ้าเราพัฒนาโปรแกรมไปทีละจุด และค่อย ๆ ทดสอบไปจนกว่าฟังก์ชันเหล่านั้นจะทำงานได้ตรงตามที่เราวางแผนไว้...ดีกว่าไปพังพร้อมกันทีเดียว แล้วยังต้องเสียเวลานั่งหาอีกว่าโปรแกรมเรามีบั๊คตรงไหน 😖 บอกเลยว่าปวดหัวแน่นอน !
.
ซึ่งทำได้ง่าย ๆ ด้วย Test Driven Development หรือเรียกง่าย ๆ ว่า TDD กับ 5 Steps ที่เรานำมาฝากเพื่อน ๆ กันในวันนี้ หากพร้อมแล้วไปดูกันเลยจ้า
.
.
เรามารู้จัก Test Driven Development กันก่อน !
.
เป็นแนวทางการพัฒนาซอฟต์แวร์เพื่อสร้างการทดสอบ และระบุเงื่อนไขต่าง ๆ เพื่อทดสอบโปรแกรม ซึ่งการทดสอบธรรมดาจะทำการเขียนโค้ดก่อนแล้วค่อยสร้าง Test Case เพื่อทำการทดสอบ ซึ่งวิธี TDD นี้จะต้องวางแผนทดสอบโค้ดก่อน จากนั้นจะเขียนโค้ดเพื่อให้ผ่านการทดสอบตามที่วางแผนไว้นั่นเอง
.
.
มาดูกันดีกว่าว่าวิธี Test Driven Development มีขั้นตอนอะไรบ้าง
.
Step 1️⃣ : เริ่มวางแผนฟีเจอร์ที่ต้องพัฒนาและต้องการทดสอบในโปรแกรม
Step 2️⃣ : เขียน Test Case ที่ต้องการจะทำการทดสอบ และเริ่มทำการทดสอบตามที่วางแผนไว้ ซึ่งในการทดสอบครั้งแรกจะล้มเหลว เพื่อเป็นแนวทางสำหรับการเขียนโค้ด
Step 3️⃣ : เริ่มเขียนโค้ดและพัฒนาฟีเจอร์ต่าง ๆ เพื่อให้ผ่านการทดสอบตามที่ได้วางแผนไว้
Step 4️⃣ : ทำการทดสอบซ้ำอีกหนึ่งครั้ง และ Refactor โค้ดให้ Clean มากที่สุด
Step 5️⃣ : ทำซ้ำจนกว่าจะได้ฟีเจอร์ที่ดีตรงตามวัตถุประสงค์มากที่สุด
.
🔴 เฟสสีแดง : กรณี Code ไม่ทำงาน
🟢 เฟสสีเขียว : กรณี Code ทำงานได้ แต่อาจจะยังไม่เหมาะสมที่สุด
🔵 เฟสสีฟ้า : การปรับปรุง Code ให้ทำงานอย่างเหมาะสมที่สุดตามฟังก์ชันที่วางแผนไว้
.
.
Test Driven Development ดียังไง ?
.
เนื่องจากเป็นการทดสอบก่อนการเขียนโค้ดจะทำให้ลดความผิดพลาดของโปรแกรมลงได้ ลดการเขียนโค้ดที่ไม่จำเป็น ยังลดเวลาการ debug โค้ดลงได้เยอะ ส่วนใดที่ทดสอบไม่ผ่านก็สามารถแก้ไขได้ทันที เพื่อให้ฟังก์ชันต่าง ๆ สามารถทำงานได้ตามวัตถุประสงค์ที่วางแผนไว้นั่นเอง
.
.
ใครที่กำลังพัฒนาโปรเจกต์กันอยู่ อย่าลืมเอาวิธีนี้ไปใช้กันด้วยล่ะ !! โปรแกรมของเราจะมีประสิทธิภาพ ทำงานได้ตรงตามวัตถุประสงค์ แถมยังลดความผิดพลาดของโปรแกรมลงได้เยอะเลย
.
ส่วนใครอยากดูวิธีการทำ Test Driven Development กันแบบเต็ม ๆ ทางเราเคยเขียนบทความไว้ให้แล้ว หากสนใจสามารถเข้าไปอ่านกันได้ที่นี่เลย
📑 Link : https://www.borntodev.com/2020/04/07/%E0%B8%A1%E0%B8%B2%E0%B8%97%E0%B8%B3-unit-testing-%E0%B8%9A%E0%B8%99-python-%E0%B8%81%E0%B8%B1%E0%B8%99/?fbclid=IwAR3Kk6biqW-5wG18s2gfi0MAH2xDRARkjdiOrDuC364stUuRCDUBGW_GbAM
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
#TDD #testdrivendevelopment #BorntoDev
同時也有3部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,ดาวน์โหลดไฟล์ที่ในในคลิปได้ที่ ► https://github.com/prasertcbs/basic_pytest เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription...
python refactor 在 BorntoDev Facebook 的精選貼文
สวัสดีจ้าเพื่อน ๆ วันนี้แอดเอาทริคดี ๆ ในการเขียน Python มาแจกอีกแล้วจ้าาาา กับ Python Refactor เขียนโค้ดยังไงให้สั้นลง และ Clean มากขึ้นนั่นเอง !! ✨
.
🔥 มีทริคอะไร และเขียนยังไงบ้าง ไปติดตามกันได้ในโพสต์เลยจ้าาาาา
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
python refactor 在 91 敏捷開發之路 Facebook 的最佳解答
看看 台積電 軟體工程師徵才的 JD:
1.Develop state of the art code
2.Continue to refactor existing applications
3.Contribute to write tests to ensure software quality
4.Apply software design principles to ensure software quality
5.Ensure sustainability and performance of software applications
6.Collaborate with colleagues in design and code reviews.
7.Willing to learn new IT technology
...
1.BS/MS degree or above and major in Computer Science, Information engineering, Industry Engineering, Statistics or Mathematic related fields, similar technical field of study or equivalent practical experience.
2.Good at any listed programming languages : C++,C#, JAVA, Python, GO, JavaScript.
3.Familiar with software engineering methodologies: UP, XP or DevOps
4.Familiar with software engineering practices: CI, CD, DDD or TDD
5.Have foundation of OOP, design principles and design patterns
6.Experience managing container-based workloads, using Kubernetes or other orchestration software is a plus.
7.Good communication skills with proactive, good interpersonal and problem-solving capability.
8.With AI related experience is a plus.
9.Familiar with source code version control tools : Git
—
雖然我無法確定台積電裡面這些東西落實的程度有多少,事實上這份 JD 也是蠻大鍋炒的,但是其實仔細看,這些要求跟加分的選項,不就是這幾年我粉絲專頁上分享、技術培訓課程主題、輔導客戶的顧問案 一直在圍繞的東西嗎?
就是一些基本功,得搞到很扎實的基本功,得這些面向都顧到的基本功,得有這些基本功對應的實務經驗/創造價值的經驗,其實就可以篩掉95%的應徵者了。
很多人心心念念想要到自己理想的公司或工作內容,卻只停在想,而沒開始行動「#讓自己有資格去爭取這份工作」。
—
上面這份 JD 真要挑比較跳的地方,就是那個 AI related experience is a plus.
不過都說是 plus 了,就看看就好。扣掉這一點,如果其他的部份你都可以很紮實,說真的,是你在挑工作,不是工作在挑你。
光一個 TDD, 有多少工程師是真能在產品開發上,時程壓力中,用 TDD 來開發,而且獲得對應的好處呢?
至少讓自己能多符合一些上面 JD的技能要求吧:https://tdd.best/category/courses/
python refactor 在 prasertcbs Youtube 的最讚貼文
ดาวน์โหลดไฟล์ที่ในในคลิปได้ที่ ► https://github.com/prasertcbs/basic_pytest
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอนการใช้งาน Visual Studio Code เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEo8pnhJb-m-MGVGDvGb4bB
สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
#prasertcbs #prasertcbs_visual_studio_code

python refactor 在 prasertcbs Youtube 的最佳貼文
เทคนิคต่าง ๆ ที่จะทำให้เราเขียนโปรแกรมภาษา Python ได้รวดเร็วยิ่งขึ้น
► การใช้ snippets
► การทำ refactor เช่น เปลี่ยนชื่อตัวแปร และชื่อฟังก์ชัน
► การใช้ Peak/Go to Definition
► การใช้ Find all references
► การ Navigate code
► การติตตั้งและใช้งาน PyLint ซึ่งเป็นหนึ่งใน Linter ที่ได้รับความนิยมอย่างแพร่หลายในหมู่นักพัฒนาโปรแกรมภาษา Python
ดาวน์โหลดไฟล์ที่ในในคลิปได้ที่ ► http://bit.ly/2NqiHdP
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอนการใช้งาน Visual Studio Code เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEo8pnhJb-m-MGVGDvGb4bB
สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
#prasertcbs #prasertcbs_visual_studio_code

python refactor 在 prasertcbs Youtube 的最讚貼文
เทคนิคต่าง ๆ ที่จะทำให้เราเขียนโปรแกรมภาษาจาวาได้รวดเร็วยิ่งขึ้น
► การใช้ snippets
► การทำ refactor เช่น เปลี่ยนชื่อตัวแปร และชื่อฟังก์ชัน
► การใช้ Peak/Go to Definition
► การใช้ Find all references
► การ Navigate code
ดาวน์โหลดไฟล์ที่ในในคลิปได้ที่ ► http://bit.ly/2NqiHdP
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนการใช้งาน Visual Studio Code เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEo8pnhJb-m-MGVGDvGb4bB
playlist สอนภาษา Java ►https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
#prasertcbs #prasertcbs_visual_studio_code #prasertcbs_Java
