※ 引述《HZYSoft (PCMan)》之銘言:
: 如果有在好好追蹤技術債,定期償還,視情況舉債,有時是一件好事情。
: 重點 hard code 的當下要留下註解,說明前因後果,並且開 bug 追蹤,
: 這樣日後不會忘記,要 refactor 也比較好搜尋到這些位置
: 補充:
: 註解的使用不是我想回的重點,重點是平衡短期和長期效益
: 按照當下的狀況,調整開發的步調。
: 建議註解單純是加個 TODO: 的註記日後才不會忘了 cleanup
: 或是有些緊急的修改有當下的時空背景,怕一忙沒法馬上清
: 日後有空要 refactor 的時候,回想不起來當時狀況。
: 註解不是描述 code 做了什麼,而是描述為什麼會有這 hack
: 至於 code 做了什麼,自然是 code 寫好讀 code 就懂了
都說是做專案了,又不是做產品。
做專案當然是做完收錢,Meet Dealine,所以重點是,
照案主的需求,改成他要的,照資安需求,修掉有問題的地方。好好上線。
一案結束,就下一案來了,你還有空refactor? 誰billing你?
我是真的不明白ptt 上一堆天天refactor 掛嘴邊的。
用數字說話吧,台灣是出了幾個產品? 幾個open source project ?
大家不就接案或做公司內部PROJECT。
你一個人爽refactor 讓其他人陪你一起更版,就真的是一個老闆的現象囉。
作者:
MoonCode (MoonCode)
2024-06-05 13:42:00好奇接案生態
作者: CRPKT (crpkt) 2024-06-05 14:07:00
但你不是有寫過象棋 app 嗎,你的 app 總會重構一下吧
作者:
holebro (穴弟弟)
2024-06-05 15:10:00內部project真的東西有在跑就好
作者:
prag222 (prag)
2024-06-05 16:41:00一堆人嘴重構,現實老闆會答應嗎?更何況你不用物件導向跟設計模式的方式去重構,結果一樣渣
如果是一人專案,想怎麼改,只要老闆不被 call ,當然不會有問題,但你想改的絕不是一個人的專案,這時候就不是你一人的事了。
作者:
prag222 (prag)
2024-06-05 16:44:00實際上有的功能也不可能完全重寫,個人經驗有的是改寫包成物件化,後續好使用好維護罷了
作者:
testPtt (測試)
2024-06-05 19:01:00一開始不做以後大概也不想做 反正要爛一起爛
作者: ashlikewing 2024-06-05 19:20:00
呃
作者:
labbat (labbat)
2024-06-05 19:36:00我認識這樣的人,他說自律重於他律因此不屑加入版控
作者:
peter98 (新兵)
2024-06-05 20:42:00你的薪水低於100萬~ 這篇沒有說服力
作者:
wulouise (在線上!=在電腦前)
2024-06-05 23:27:00台灣也是有做產品的公司,我覺得風格的確差很多
稍微有點好奇labbat說的不加入版控是啥情況 XD
作者:
DrTech (竹科管理處網軍研發人員)
2024-06-06 08:16:00中肯。做過產品的人還真相對少。台灣大部分的工作,哪來那麼多refactor
作者:
gmoz ( This can't do that. )
2024-06-06 13:11:00也不一定 如果是有持續擴充維護案 有資源還是能重構的但比較多時候是出現問題再來重構改善XD
作者:
tvbic 2024-06-09 22:09:00這才是臺灣軟體業的現實面,花時間重構程式大多數都是在浪費時間而已,自己看著自己爽,其實都在白費功夫
作者: CRPKT (crpkt) 2024-06-11 10:15:00
一次到位就很了不起了,這樣也不需要敏捷方法了
我9支棋類APP,跨C++,java,Obj-C,Swift。都不去重肥的反正AI的強度及CPU usage在同類APP找不到對手。我另外的opensource project, FPC開發的container, 就看一下各任重肥大神去肥一下吧。
作者: CRPKT (crpkt) 2024-06-12 09:33:00
好奇可以透露一下棋類 AI 訣竅嗎
negascout+pattern evaluation, 沒了。人類下棋也是這兩個方式而已。
作者: CRPKT (crpkt) 2024-06-12 10:05:00
那你有機會可以分享一下面對需求擴充與變更如何一次到位嗎我覺得比起吵要不要重構,這種技能更能帶給大家利益
你會下棋,不就應該明白,棋要下得好,要如何看的嗎?概念是一樣的,在架系統架構時,多留點接口,但不要想一個接口做到底,也不要想什麼動態參數的。一個功能call 三層都還做不出來,就有問題了。跟其它datasource 要三輪都要不到全部,就有鬼了。看需求,最好能通盤看,跟下棋一樣只看一角會死很慘架構師對業務有了解,是很有幫助的。
作者: CRPKT (crpkt) 2024-06-12 12:32:00
我覺得你講到一些很多人都忽略的重點1.布局優秀創造的效益遠超過事後補救2.了解脈絡對規劃架構與實作路線非常重要比較可惜的是並非所有環境都能讓這種布局的效益發揮到極致同時也不是所有人都有辦法或有意願養成這種視野
下棋你也無法做到全局最優啊。沒這種情況吧。下棋也就是看一個大概的pattern的結果而已。
作者: CRPKT (crpkt) 2024-06-12 15:34:00
是,所以我也不會全盤否定所有的重構畢竟再好的規劃也難免會有小更改,偶爾小型重構很合理退一萬步,有些產品體質差到先還債就已是新功能的最速解了那這時候討論要不要重構也沒意義了
重構,講的是產品,不是專案!!重構,要錢的。延申出要多久?要多「好」?誰付你錢?說白了,提出重構的兩位老兄,看不到有開發什麼大不了的系統。但宗教式的給出了refactor, agile,extreme programming, DSL 等。讓大家宗教式跟著走。