Re: [閒聊] 各位工作有遇到甚麼很扯的事情嗎?
※ 引述《C6H5CH3 (........)》之銘言:
: 我也看過類似下面這一段code, 是用來判斷軟體版本做相關的處理
: bool bOldVersion; // version <= 1.2.3.0
: bool bNewVersion; // version > 1.2.3.0
: bool bNewNewVersion; // version > 1.2.4.0
既然有明確的版本範圍,那就重新命名上依義定名即可:
bool bVersionNoMoreThan_1_2_3_0;
bool bVersionAbove_1_2_3_0;
bool bVersionAbove_1_2_4_0;
bool bVersionAbove_x_y_z_u; // <== 你自己加的新版本
這樣就可以在小範圍內重構,而不用動大刀
當然有重構工具輔助更棒!
這種只改變數名稱的重構,不用太耽心程式會改到 out of control 的情況
: if(bOldVersion)
: {
: ...兩百行...
: }
: else if(bNewVersion)
: {
: ...兩百行, 跟上一段只有5~10行不同...
: }
: else if(bNewNewVersion)
: {
: ...兩百行, 跟上一段只有5~10行不同...
: }
已經存在的 code,即使你自己看起來很不順眼
但畢竟是 proven 過可以穩定執行的 code
(至少沒在客戶前出過大包的 code)
除非找到非改寫不可以上 200 + 200 + 200 = 600 行程式碼的理由
: 後來我花了很久時間思考要重寫還是定義一個bNewNewNewVersion這個變數...
: ※ 引述《CSLabor (電腦工人)》之銘言:
: : 我看過一段code
: : if(Boolean判斷式1){
: : if(Boolean判斷式2){
: : statement A;
: : }
: : else{
: : statement A;
: : }
: : }
: : else{
: : statement A;
: : }
: : 我發現後跟他講
: : 他當面拉不下臉就說:我會這樣寫 就代表這三個statement不一樣
: : 結果我把這三句貼在記事本
: : 比對都一樣
: : 事後他自知理虧後就說
: : 只是duplicate而已 有什麼好大驚小怪的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.58.129
推
09/12 00:48, , 1F
09/12 00:48, 1F
※ 編輯: mgtsai 來自: 114.32.58.129 (09/12 01:09)
→
09/12 07:10, , 2F
09/12 07:10, 2F
→
09/12 08:49, , 3F
09/12 08:49, 3F
→
09/12 14:15, , 4F
09/12 14:15, 4F
討論串 (同標題文章)
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
79
136