上回用 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/
同時也有181部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,TQC+Python3證照第1次(證照類別說明與102題浮點數格式化與104題圓形面積計算) 上課內容: 01_PYTHON證照類別說明(一到五類) 02_PYTHON與JAVA趨勢比較 03_PYTHON證照類別說明(六到九類) 04_ECLIPSE設計環境與相關設定 05_102題浮點數格式化...
java else if 在 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
java else if 在 TechOrange 科技報橘 Facebook 的最佳解答
寫程式還能練國文,你會想用嗎?
java else if 在 吳老師教學部落格 Youtube 的精選貼文
TQC+Python3證照第1次(證照類別說明與102題浮點數格式化與104題圓形面積計算)
上課內容:
01_PYTHON證照類別說明(一到五類)
02_PYTHON與JAVA趨勢比較
03_PYTHON證照類別說明(六到九類)
04_ECLIPSE設計環境與相關設定
05_102題浮點數格式化輸出試題說明
06_證照102題INPUT與OUT說明
07_證照102題FORAMT格式化之一
08_證照102題INPUT與FORAMT格式化之二
09_轉型用eval函數
10_證照104題圓形面積計算解題
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
吳老師 108/12/27
EXCEL,VBA,Python,證照,東吳,文化推廣部,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
java else if 在 吳老師教學部落格 Youtube 的最讚貼文
TQC+Python3證照第1次(證照類別說明與102題浮點數格式化與104題圓形面積計算)
上課內容:
01_PYTHON證照類別說明(一到五類)
02_PYTHON與JAVA趨勢比較
03_PYTHON證照類別說明(六到九類)
04_ECLIPSE設計環境與相關設定
05_102題浮點數格式化輸出試題說明
06_證照102題INPUT與OUT說明
07_證照102題FORAMT格式化之一
08_證照102題INPUT與FORAMT格式化之二
09_轉型用eval函數
10_證照104題圓形面積計算解題
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
吳老師 108/12/27
EXCEL,VBA,Python,證照,東吳,文化推廣部,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
java else if 在 吳老師教學部落格 Youtube 的最讚貼文
TQC+Python3證照第1次(證照類別說明與102題浮點數格式化與104題圓形面積計算)
上課內容:
01_PYTHON證照類別說明(一到五類)
02_PYTHON與JAVA趨勢比較
03_PYTHON證照類別說明(六到九類)
04_ECLIPSE設計環境與相關設定
05_102題浮點數格式化輸出試題說明
06_證照102題INPUT與OUT說明
07_證照102題FORAMT格式化之一
08_證照102題INPUT與FORAMT格式化之二
09_轉型用eval函數
10_證照104題圓形面積計算解題
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
TQC+Python證照目錄:
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elif
Python 第3類:迴圈敘述
技能內容:while、for…in
Python 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈
Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
Python 第6類:串列(List)的運作(一維、二維以及多維)
技能內容:串列的建立、串列的函式、串列參數傳遞、串列應用
Python 第7類:數組(Tuple)、集合(Set)以及詞典(Dictionary)
技能內容:數組、集合、詞典的建立、運作及應用
Python 第8類:字串(String)的運作
技能內容:字串的建立、字串的庫存函式、字串的應用
Python 第9類:檔案與異常處理
技能內容:文字I/O、檔案的建立、寫入資料與讀取資料、二進位I/O、編碼(Encoding)、異常處理
吳老師 108/12/27
EXCEL,VBA,Python,證照,東吳,文化推廣部,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
java else if 在 if..else、switch 條件式 的相關結果
為了應付「如果OOO成立」就要…,「否則」就要...的需求,Java提供了if..else條件式,語法如下: if(條件式) { ... ... <看更多>
java else if 在 詳解Java程式設計中if…else語句的巢狀寫法 的相關結果
if...else if...else語句if語句後面可以跟elseif…else語句,這種語句可以檢測到多種可能的情況。 使用if,else if,else語句的時候,需要注意下面幾 ... ... <看更多>
java else if 在 Java Conditions and If Statements - W3Schools 的相關結果
Java Conditions and If Statements · Use if to specify a block of code to be executed, if a specified condition is true · Use else to specify a block of code to be ... ... <看更多>