🔥 เพื่อน ๆ รู้กันไหมว่า เจ้าตัว Function ของ Python นั้น สามารถ Return ค่าได้มากกว่า 1 ค่า !!
.
👉 ซึ่งจากปกติแล้วการ Return ค่าของ Function (Java เรียกว่า Method) ในภาษา C, C++ หรือ Java จะสามารถส่งค่ากลับได้แค่ค่าเดียวเท่านั้น ถ้าเราต้องการที่จะส่งกลับค่าออกมาจาก Function ที่มากกว่าหนึ่งตัว เราจะใช้หลักการ Return ค่ากลับออกมาเป็น Array, List หรือ Class ของ Java (หรืออื่น ๆ ที่สามารถรวมข้อมูลหลาย ๆ ตัวเป็นก้อนเดียวได้)
.
✨ แต่เจ้าตัว Python นั้นสามารถ Return ตัวแปรหลาย ๆ ตัวออกมาได้ทันที โดยที่เราไม่จำเป็นต้องอัดข้อมูลให้เป็นก้อนเดียวก่อนส่งออก เพราะเจ้าตัว Function จะทำการ Pack ข้อมูลเป็น Tuple ให้เองเลยโดยอัตโนมัติ (Tuple คือกลุ่มข้อมูลที่มีรูปแบบคล้าย List แต่ไม่สามารถแก้ไขข้อมูลในนั้นได้)
.
📑 ตัวอย่างเช่น เราต้องการที่จะส่งค่าตัวแปรกลับ 3 ตัว เราก็สามารถใช้ตัวแปร 3 ตัวในการรอเก็บค่าที่ส่งออกจาก Function ได้ทันทีเลย แบบดังรูป (สุดท้ายเจ้า Function ของ Python ก็ return ออกมาแค่ค่าเดียวนั่นแหละ นั่นก็คือ Tuple นั่นเอง)
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有1部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,เข้าใจความแตกต่างระหว่าง method หรือ function ที่มีการส่งค่ากลับมายังตัวแปรได้ กับ method ที่ไม่มีการส่งค่ากลับมา (void method) ============ playlist...
java method return 在 91 敏捷開發之路 Facebook 的最佳解答
💡 熱騰騰的課後感想 💡
這次重構了一組 java 學員的 legacy code, 一組 C# 學員的 legacy code.
累,但通體舒暢。
像個舞蹈家在舞台上表演完後的痛快淋漓,像開完演唱會之後的虛脫無力。
在來這次的課程以前,歷經了workshop、極速開發、coding dojo,以為好像知道了一點TDD 、好像知道如何討論測試案例與需求、好像知道如何用工具來加快腳步,在工作上也試著用TDD完成一些需求,但總覺得少了什麼
一直認為Tennis 經TDD 結束後,好像就很理所當然:Tennis 類別就長這樣、Test Case 就是這個順序
「這個測試案例很複雜、那個很簡單」對我來說一直是很抽象的描述
這些在這堂課都有一些答案
91 在講解Tennis kata時,我才知道,Tennis 類別在一開始討論測試案例時,就已經先粗略的被設計了,包含method被如何使用、參數從哪邊進去、return 什麼(這些跟情境是有關的),然後再用便利貼量化 「代碼要做什麼事或是修改才能完成這個測試案例」,然後再討論這些便利貼是否可以挪到下一個test case ,才不會為了某個案例,新增大量的code,這就是為什麼Tennis kata 是那樣被完成的
而這個設計過程就是看個人或團隊的能耐,不然最終還是會需要重構的基本功,這在後面小組的mob programming 就得到了印證:「我們都好像知道要這樣討論設計測試案例,但寫出來還是爛爛的code」,唯一跟平常工作開發的差別是至少我們已經有完整的單元測試可以讓我們繼續重構
重構的單元,91一邊講我們害怕做什麼、 會習慣想做什麼,導致哪些壞味道,一邊示範物件如何自然地高內聚、切開職責,用工具的順序怎樣可以少真的動手寫代碼
重構絕對不是改改變數名稱、隨便抽個一坨code到新的method而已,更不是照著書看到這個pattern 就要怎樣處理
最後91 再帶大家討論測試案例、類別及要做的工作事項後,開發過程就會跟寫kata 一樣非常流暢、自然,不需要最後花很多的成本去重構
總結一下這堂課
1.看到TDD 不同面向
2.壞味道
3.重構
4.好的設計跟程式能力絕對可以流暢TDD ,但一般情況是很難有完美的一次設計到好,所以重構(及單元測試)的基本能力更重要
如果對TDD 非常有興趣、疑惑,或是想了解重構,非常適合參加Joey Chen的 #TDD與持續重構 課程
java method return 在 prasertcbs Youtube 的最讚貼文
เข้าใจความแตกต่างระหว่าง method หรือ function ที่มีการส่งค่ากลับมายังตัวแปรได้ กับ method ที่ไม่มีการส่งค่ากลับมา (void method)
============
playlist สอนภาษา C# เบื้องต้น
https://www.youtube.com/watch?v=bu6kwrpOqFM&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
============
playlist สอนภาษา C เบื้องต้น
https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
============
playlist สอนภาษา C++ เบื้องต้น
https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
============
playlist สอนภาษาจาวา Java เบื้องต้น
https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
============
playlist สอนการทำ Unit Test ภาษาจาวา Java
https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
============
playlist สอนภาษาไพธอน Python เบื้องต้น
https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
============
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming)
https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
============
playlist สอนภาษา R เบื้องต้น
https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
============
playlist สอนภาษา PHP เบื้องต้น
https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
============
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่
https://www.youtube.com/subscription_center?add_user=prasertcbs
