Re: [閒聊] 各位工作有遇到甚麼很扯的事情嗎?

看板Soft_Job (軟體人)作者時間13年前 (2012/09/12 00:40), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串14/28 (看更多)
※ 引述《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
同意,如果是現在我會這樣做,只是當年太血氣方剛...XD
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
我跟2F有同樣的疑問 ~_~ 不過我猜大家其實都是在開玩笑吧
09/12 08:49, 3F

09/12 14:15, , 4F
最可能原因 多個客戶多種版本 且無法統一 如此做省力
09/12 14:15, 4F
文章代碼(AID): #1GJscFHZ (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1GJscFHZ (Soft_Job)