Re: [討論] 重構跟kpi的考量
※ 引述《VScode (VSisBestIDEinTheWorld)》之銘言:
: 假設以下情境
: 有個功能A、B都會用到相同邏輯,且有兩份重覆的code
: (沒有unit test保護,而且年久失修 要加入unit test會需要更多時程)
: 現在要加入C,也會用到相同邏輯
: 身為合格的工程師 應該會把ABC重覆的部份提取出來
: 而不是讓這邏輯重覆三次
: 但以公司營運的角度來看 這次專案就只會測試C的部份
: 不應該動到A、B
: 這時就要冒著A、B壞掉風險重構,或是因為來不及加入unit test
: 就乾脆讓相同邏輯存在三個地方
: 身為專業工程師,我很想選擇重構
: 但過去的經驗告訴我
: 絕對要以kpi為最優先考量
: 於是程式充滿了註解、重覆片段
: 雖然靠著筆記、git log,能還原當時寫code的思路
: 但這些髒code就會永遠留存在程式裡
: 想問大家遇到這情況會怎麼做?
感覺這個標題就是個假議題,你說不重構A、B因為Unit test來不及寫,那你新寫的C就不用unit test了?
然後你又說三個code一模一樣,假設你幫C寫完unit test了,那你不就也把AB搞好了嗎?
再退一萬步來講,AB沒有unit test大家用的那麼爽你還硬要去動也只是吃飽太閒,不如好好寫你C的unit test,寫完大家就用C就好啦
--
推
他是說ABC其中各有一小塊重複的,變abc..
如果是不同東西的話也完全沒必要動
※ 編輯: handsomeLin (98.207.136.165 美國), 02/26/2022 10:13:05這篇正解... 所謂的專業不是自己想怎麼搞就怎麼搞...
評論要不要重構不能只看程式碼的邏,原原po應該是菜鳥
.......................................邏輯
菜鳥最喜歡重構了,以為很行
推樓上,一堆沒經驗的整天在那邊重構,搞出一堆問題
不過就是要這樣 才會有經驗啊
怎麼推文說得像是重構像是一種錯誤行為一樣...
不好說
重構只在有完善測試的情況下才能安全進行,測試越少
風險越大,故重構並不是在每個context下都是好的行為
有些人重構跟亂寫沒兩樣
現有測試再來重構
重構跟砍掉重練不一樣,一次改太多又沒測試沒bug才奇怪
Code的價值不在優不優雅 在於有沒有帶來新利潤
請問你重構的目的是為了節省記體?為了執行更快?為了
未來擴展性?還是為了規模化?
不要只為了code不合"優雅"的定義而重構
重構有時比砍掉重練難多了= =" debug 不如 delete
code 優不優雅這回事 可以加上註解 最終還是看出來
的東西是什麼鬼 沒利潤真的懶 除非是要改架構再說
不然光去找人協調就幾個月過去了
重構要看你有沒有這個決定權以及是誰想要重構 有時候
你想要重構上頭不准 有時候你不想重構上頭想 XD
通常上頭想的不是上頭自己也操刀
4
我覺得有個盲點就是 重複程式碼的邏輯 我的經驗是在需求還沒穩定前 一樣的程式碼複製到不同地方才是最佳解 你根本不知道什麼時候 某個地方要用的邏輯不同 一但要改寫的邏輯不通 你就會被共用的程式碼卡住21
如果 A, B 都沒有任何 tests,建議不要動他。 幫 C 實做這個功能的時候,把 unit test 寫好寫滿,確保 C 是對的 行有餘力,針對 A, B 的使用情境也加上 test case,確保未來在 A, B 確實能重用 (這點很重要,否則很容易程式長得很像你以為可以重用,實際上根本不能) 就先做到這樣就好,確保 C 的品質,同時你獲得了高品質的 reusable 模組35
首Po假設以下情境 有個功能A、B都會用到相同邏輯,且有兩份重覆的code (沒有unit test保護,而且年久失修 要加入unit test會需要更多時程) 現在要加入C,也會用到相同邏輯 身為合格的工程師 應該會把ABC重覆的部份提取出來
爆
Re: [問卦] 寫程式只要會用套件就好了吧?寫程式有分等級 Lv1 就像下圖這種一隻猴子敲鍵盤 猴子知道敲鍵盤的意義嗎? 當然不知道,牠知道敲對鍵盤有一根香蕉就每天這樣敲爆
[問卦] 有生的跟你說羨慕你沒生…是幹話嗎?小弟年近40,婚後約10年,目前膝下無子。 我爸媽或岳父母以前會催 但我考量很多因素,不想生,我老婆也不想生,所以他們長輩也就放棄了哈 只是我們自己的親戚朋友,或是堂哥姐,表弟妹等等,大多是同年齡層的 總會跟我們說,好羨慕你們沒有生小孩喔,可以過兩人世界真好,想去那就去拿,又說養49
[問卦] 寫程式 好上手的編輯軟體推薦?一位40歲的大姐朋友,他兒子上大一,在寫程式c++, 他問我寫程式用哪一種編輯軟體?? 我都亂用,用習慣就好, 但他喜歡好上手、方便好學的。 請問寫程式 好上手的編輯軟體推薦?38
[問卦] 憂ㄩˋ的ㄩˋ你寫得出來嗎如題 憂ㄩˋ算是常見的詞吧 讀一定沒問題 但是寫的話呢 你寫得出來嗎16
[問卦] 工程師寫什麼Python,不會用C?工程師寫什麼Python 不會寫C嗎 不會用C跑數據嗎 不會用C做AI模型嗎 有沒有卦?6
Re: [問卦] 寫程式是不是超過40歲就不行了?寫程式這種東西並不像在端盤子這種機械性質的工作 你比別人多寫了20年不會比較厲害 而且重點是你如果比別人多寫了20年 只是你比別人多寫20年的舊程式、舊技術 人家新來的菜鳥會的東西你反而不會13
Re: [問卦] C++可以啟發孩子的程式天份嗎?那要看你怎麼定義程式天份 如果是講演算法跟資料結構 用C或Python下去操比較快 如果是講計算機結構 一樣也是用C跟OS下去操 國中時 C++是我第一門接觸的語言 那個時候要做遊戲的難度不低X
[問卦] test網路測試是這樣的啦 現在line都有好友生日通知 沒道理不知道誰生日吧? 現在過快一小時了 還沒收到任何訊息X
[問卦] 學妹不寫unit test要怎麼辦?如題 明明說好一人負責一部分 結果她寫完 居然沒有寫unit test !! 這是在戲弄肥宅嗎?