有效收斂程式邏輯,讓程式碼更簡潔,並且更好進行測試。
建立比較完整的 functional programing 理解
掌握 functional programming 的應用與技巧
了解「物件導向」、「functional programming」開發方式的不同
能夠比較理解何時該使用物件導向或 functional programing
了解 functional programming 的使用時機及限制
❓ 觀念不太清楚,可能會從很多地方聽過函數式編程。例如:知道迴圈可以用 forEach 取代。這可能是個簡潔寫法,但卻沒有很理解其結構
❓ 學習比較片面。例如:在工作上會看到很多外部的程式碼或者前輩的用法,大概知道哪些語境下可以使用,但缺乏一個從頭到尾(如原理到底是什麼)的學習過程
❓ 不知何時應用。例如:即使知道可將 for loop 換成 forEach,但卻不清楚何時該用前者,何時該用後者
這堂課,將解決你以上問題!課程中我們會從發展歷程及背後脈絡講起,了解各種用法的比較,並以 React 為例,做思考上的驗證。
① 讓程式碼看起來更簡潔
函數化編程的技巧可以讓你著重在程式碼的「組合」,而非將邏輯直接「封裝」,如此一來能讓程式碼更為簡潔易懂。
② 對功能的描述更精準
函數化編程的思考方式會讓程式編寫者更容易將注意力放在描述「要做什麼」而不是「如何做到」,程式碼的撰寫跟結構將更為直觀。
③ 更好進行測試
如果你的程式主要是由一個一個的函數串接而成,那每個斷點都能寫對應的測試程式。對於需要細部測試的重要邏輯來說會比較好除錯。
實務上,有哪些時候適合導入函數化編程技巧呢?這裡舉幾個常見場景:
函式化編程是一種程式撰寫的風格,會把函式當成參數傳入,並以沒有 side effect 的方式回傳另一個函式。
傳統的命令式程式設計,是你必須一步步的寫出程式要如何做,但常常寫出來的東西參雜了許多與主要邏輯無關的程式碼,顯得很多餘;而目前流行的函數式程式設計,其主要在於告訴程式「做什麼」,而不是「怎麼做」。
物件導向跟函數化編程都能非常有效的收斂程式邏輯,如果善用這些技巧,就能對於「減少 bug」及「增進效能」很有幫助。
物件導向的思考著重在封裝特殊邏輯,而函數化編程則更注重以組合及分離來梳理邏輯。活用這兩種思考模型可以讓您對問題的拆解更得心應手。
▼
▼
▼
▼
RevtelTech 共同創辦人,目前主要負責技術諮詢及佈局。臺大資訊研究所畢業,開發經驗超過 10 年。跨足嵌入式系統、網頁、雲端及 App 開發,曾參與和開發超過 20 個以上 React Native 專案 (包含教育、電商、金融、醫療、展覽及物流等各大領域),其中包含獨角獸等級企業百萬下載海外電商雙平台 App。亦曾受邀至 yourator 等徵才平台分享 React Native 開發經驗。曾培養非本科系學員,成為軟體工程師。對事物有敏銳觀察,認為程式不只是「教」,應該還包含「自學能力」的養成。
如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。
若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。
所有線上課程皆不受時間限制,享無限次永久觀看!
| 收集中
好的這部分會提到~