Julian 不愧是自走砲中的代表,靠他幫忙補足 Golang 的那塊拼圖了!
上回的重構 conditional statement 他改成 go 而且也放到 github 上了:https://github.com/Julian-Chu/strategy-sample-golang
有這樣的夥伴真好,歡迎大家提供不同語言的版本呀。
—
我的 Todo 可以劃掉一項了
同時也有1部Youtube影片,追蹤數超過19萬的網紅OmegaGamesWiki™,也在其Youtube影片中提到,PS4北米版のアンチャーテッド ロストレガシー(Uncharted The Lost Legacy)の100%収集品&最高難易度攻略動画です、Part 10。 Although this's not a stealth game and it's not necessary to clear in...
strategy pattern c++ 在 91 敏捷開發之路 Facebook 的最佳貼文
上回用 Java + IntelliJ 來重構一堆 if/else 的計算運費範例,請見:https://www.youtube.com/watch?v=zO-NnNC-xyg&ab_channel=JoeyChen
這次改用 C# + Rider 來重構一樣的例子,不過這次刻意改用 Func
兩種作法適用場景不同,東西夠小夠單純,想要少一點 class/interface 等 elements,可以先這樣做,到真的有需要時,反正對我來說,要從 Func
## Reference
1) Youtube 版影片:https://youtu.be/9rfVe6Uikt0
2) GitHub commit history: https://github.com/tdd-best/strategy-sample-CSharp/commits/refactoring
3) #TDD與持續重構 培訓參考:https://tdd.best/courses/tdd-continuous-refactoring-2021-05/
--
我知道一般人的 Rider 沒有那個「把三元判斷式 自動替換成 Math.Min()」的燈泡,這是我自己刻的。
有興趣嗎?一起來 #極速開發 玩耍吧:https://tdd.best/courses/extreme-developing-202104/
strategy pattern c++ 在 91 敏捷開發之路 Facebook 的最讚貼文
【重構】使用 strategy pattern 來取代複雜的 switch cases 與 if/else statement
上回在客戶那邊跟著他們一起重構 legacy code 中一大陀的 if/else if 裡面複雜的邏輯。(不同層級、模組的 cache 中做不同的處理)
因為當時時間有限,大家技能水平普遍有點跟不上,所以雖然讓產品程式碼變得乾淨一點,但對學習重構來說,大家少的東西還是太多了。
因此答應了他們,會再弄個簡單一點的範例,包含重構的過程步驟,source code,以及重構的操作過程錄成影片,供他們台灣跟國外的 RD 可以學習跟練習。
--
這例子其實也是我幾年前 3 天 TDD 版本中,重構的 workshop 裡面擷取出來的一段核心,從 C# 換成了 Java,只是重構過程的行雲流水程度,已經今非昔比了。有興趣的朋友可以看一下,我是怎麼用 IDE 在重構的。
身為 JetBrains Taiwan 的 training partner,總是要有點功力才能撐得起這個資格啊。
--
※ 影片網址:https://www.youtube.com/watch?v=zO-NnNC-xyg&feature=youtu.be&ab_channel=JoeyChen
我不定時會錄一些技術相關的影片,有興趣就來按一下小鈴鐺訂閱吧。
※ GitHub commit history: https://github.com/tdd-best/strategy-sample/commits/video
※ 想要了解更完整的來龍去脈,想要讓自己能動手作到一樣的事,想要玩比這範例更進階、更實務的重構與 TDD,2021 年五月的梯次,只剩下 4 個名額啦:https://tdd.best/courses/tdd-continuous-refactoring-2021-05/
話說這個梯次我拍胸脯保證 100% 會額滿的,因為我正在翻譯相關的經典書,屆時會補上更多相關的內容。
#IntelliJ
#Refactoring
#StrategyPattern
strategy pattern c++ 在 OmegaGamesWiki™ Youtube 的最讚貼文
PS4北米版のアンチャーテッド ロストレガシー(Uncharted The Lost Legacy)の100%収集品&最高難易度攻略動画です、Part 10。
Although this's not a stealth game and it's not necessary to clear in stealth and no damage but still it's possible to do it. It's a very big challenge and you really need to take your time and not rushing it otherwise you will fail as the enemies will spot you very easily no matter how far you are(when they are in alert mode).
I don't really think anyone would want to try stealth at this chapter(or this game) but you could try to follow what I did if you really want to have a go. It's quite stable and the pattern is the same till I use the C4 for the first time(5:56), after that, the enemies move randomly so you will need to do it carefully.
Please like and share this video if possible as I spent lots of time on this stealth strategy, thanks.
Part 10:
Chapter 6 - The Gatekeeper
Difficulty - Crushing(Stealth & No Damage)
Collectibles - 100%
Collectibles in Chapter 6:
Photos:
1) Photo #19 26:24
2) Photo #20 28:10
Lockbox(3 in total):
1/3 14:32
2/3 17:13
3/3 27:39
Optional Conversation(1 in total):
1/1 27:12
Collectibles(5 in total):
1/5) 10th Century Oil Bottle 20:21
2/5) Aged Silver Anklet 20:51
3/5) Ceremonial Sugar Hammer 26:56
4/5) Raja Raja Gold Kahanvu 28:29
5/5) Agate Gemstone Box 28:41
Uncharted The Lost Legacy (Eng Ver.) 100% Collectibles Crushing Walkthrough Playlist:
⇒https://www.youtube.com/playlist?list=PL4fd59i0eA3UDiWad_GAtdl41VSiS_NqF
======================
- ゲームタイトル: Uncharted The Lost Legacy(PS4北米版)
- 発売日: 2017年8月22日 (US)
- 価格: PS4ダウンロード版:$39.99
- ジャンル : Action-adventure
- CERO : ESRB T
- 開発: Naughty Dog
- 発売: Sony Interactive Entertainment
=======================
"Copyright Disclaimer Under Section 107 of the Copyright Act 1976,
allowance is made for "fair use" for purposes such as criticism,
comment, news reporting, teaching, scholarship, and research.
Fair use is a use permitted by copyright statute that might otherwise
be infringing. Non-profit, educational or personal use tips the balance
in favor of fair use."
=======================