上完課之後最重要的就是應用。
而我的課特別之處是,讓大家上完課後,想學更多、手癢想練習、想趕快在實務上發揮效果。
#專業點火
#超熱血
#TDD
內化技能是很難的事情。
不希望上的課白費,自己想了一個案例,用TDD開發麻將的聽牌程式。給定一副手牌,回傳聽哪些牌,寫了五天終於完成。支援萬筒條東南西北青發白。
從高階的Test Case拆分、案例排序、符合物件導向原則的職責分割,到低階的API該怎麼設計、重構。覺得收穫非常多。這幾天練習了很多設計的思考,像是回傳null到底是好還是不好,發現Collection Library都沒在回傳Null的。掌握Collection的使用,深刻感受到LINQ是C#的精華、Lazy Evaluation、學習用FluentAssertion、GetHashCode、Regex等等。
不得不說,TDD真的對於鍛鍊「設計」非常有幫助。整個開發的過程並不算快,常常要停下來思考很多事情。下一個會讓我演算法Fail的Test Case是什麼?覺得API的設計怪怪的,不夠好用該改嗎?怎麼命名重構抽出的方法。此時翻翻clean code、重構、實做模式、設計模式,閱讀感受和以前差了十萬八千里。
或許寫出可維護的程式本來就不是一件快的事情。我們平常所謂的快,其實是用放棄思考設計的時間換來的,欠債維護者還是得還。但思考這件事是可以鍛鍊的。
內化這些技能並不容易,練習的過程中察覺很多不足的地方,但覺得已經可以試著用在小專案的開發上了。
#感恩TDD讚嘆TDD
同時也有1部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,對於設計模式的學習有多方派系持不同意見,但仔細去思考,會發現設計模式的存在是避免自己發明愚蠢的設計在已經常出現的問題上,在日新月異的科技進步下,隨著商業邏輯更加複雜,軟體工程師所遭遇到的問題也一次比一次還難 Design Pattern 的存在是幫助思考,避免不必要的協作災難,只要能懂得這點並融會...
物件導向原則 在 在地上滾的工程師 Nic Youtube 的最佳貼文
對於設計模式的學習有多方派系持不同意見,但仔細去思考,會發現設計模式的存在是避免自己發明愚蠢的設計在已經常出現的問題上,在日新月異的科技進步下,隨著商業邏輯更加複雜,軟體工程師所遭遇到的問題也一次比一次還難
Design Pattern 的存在是幫助思考,避免不必要的協作災難,只要能懂得這點並融會貫通,職業生涯中有更多的時間去學習不同的思考方式、軟體架構以及團隊管理
成為真正的資深工程師道路上,Design Pattern 絕對是一門主修科目,你可以不完全使用,但卻不能不知道
以下是學習 Design Pattern 的推薦資源,其中包含筆記、書籍和程式碼範例
✅ 我的部落格筆記(Ruby) https://blog.niclin.tw/2018/11/18/%E7%89%A9%E4%BB%B6%E5%B0%8E%E5%90%91%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%89%87-solid-ruby-sample/
✅ 設計模式學習筆記 https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/
✅ 七天學會設計模式:設計模式也可以這樣學 https://www.books.com.tw/products/0010750585
✅ 大話設計模式 JAVA 版範例: https://github.com/skyyen999/bigTalkDesignPatternJava
章節:
00:00 算我拜託你了
01:00 什麼是 Design Pattern
02:25 學習 Design Pattern 的好處
04:43 實際應用與學習方式
07:34 導入工作
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#designpattern #前端 #後端
物件導向原則 在 無界開發者社群| 物件導向五大設計原則- SOLID : | Facebook 的推薦與評價
物件導向 五大設計原則- SOLID : + SRP 單一職責原則+ OCP 開放- 封閉原則+ LSP 里氏替換原則+ ISP 介面隔離原則+ DIP 依賴反向原則近期回顧「無瑕的程式碼- 整潔的軟體 ... ... <看更多>
物件導向原則 在 【OOP】物件導向設計的五大原則 - 伍夜黃昏之時 的推薦與評價
物件導向 設計五大原則「SOLID」由羅伯特·C·馬丁在21世紀早期提出,SOLID分別為單一功能原則、開閉原則、里氏替換原則、介面隔離原則、依賴反轉原則。 了解 ... ... <看更多>
相關內容