作者Lordaeron (Terry)
看板Soft_Job
標題Re: [討論] hard code 速度會快嗎?
時間Wed Jun 5 13:36:17 2024
※ 引述《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 讓其他人陪你一起更版,就真的是一個老闆的現象囉。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.25.139 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1717565779.A.2F9.html
1F:推 MoonCode: 好奇接案生態 06/05 13:42
2F:推 CRPKT: 但你不是有寫過象棋 app 嗎,你的 app 總會重構一下吧 06/05 14:07
3F:→ holebro: 內部project真的東西有在跑就好 06/05 15:10
4F:→ Lordaeron: 我的app 基本是一次到位,不管加減功能。 06/05 15:26
5F:→ prag222: 一堆人嘴重構,現實老闆會答應嗎? 06/05 16:41
6F:推 prag222: 更何況你不用物件導向跟設計模式的方式去重構,結果一樣渣 06/05 16:43
7F:推 peteryu168: 如果是一人專案,想怎麼改,只要老闆不被 call ,當然 06/05 16:44
8F:→ peteryu168: 不會有問題,但你想改的絕不是一個人的專案,這時候就 06/05 16:44
9F:→ peteryu168: 不是你一人的事了。 06/05 16:44
10F:→ prag222: 實際上有的功能也不可能完全重寫,個人經驗有的是改寫 06/05 16:44
11F:→ prag222: 包成物件化,後續好使用好維護罷了 06/05 16:45
12F:→ testPtt: 一開始不做以後大概也不想做 反正要爛一起爛 06/05 19:01
13F:噓 ashlikewing: 呃 06/05 19:20
14F:→ labbat: 我認識這樣的人,他說自律重於他律因此不屑加入版控 06/05 19:36
15F:→ peter98: 你的薪水低於100萬~ 這篇沒有說服力 06/05 20:42
16F:推 wulouise: 台灣也是有做產品的公司,我覺得風格的確差很多 06/05 23:27
17F:推 kurtsgm: 稍微有點好奇labbat說的不加入版控是啥情況 XD 06/05 23:57
18F:→ DrTech: 中肯。做過產品的人還真相對少。台灣大部分的工作,哪來那 06/06 08:16
19F:→ DrTech: 麼多refactor 06/06 08:16
20F:推 gmoz: 也不一定 如果是有持續擴充維護案 有資源還是能重構的 06/06 13:11
21F:→ gmoz: 但比較多時候是出現問題再來重構改善XD 06/06 13:11
22F:推 iamOsaka: 推推 06/07 10:32
23F:推 tvbic: 這才是臺灣軟體業的現實面,花時間重構程式大多數都是在浪 06/09 22:09
24F:→ tvbic: 費時間而已,自己看著自己爽,其實都在白費功夫 06/09 22:09
25F:推 CRPKT: 一次到位就很了不起了,這樣也不需要敏捷方法了 06/11 10:15
26F:→ Lordaeron: 我9支棋類APP,跨C++,java,Obj-C,Swift。都不去重肥的 06/11 16:39
27F:→ Lordaeron: 反正AI的強度及CPU usage在同類APP找不到對手。 06/11 16:40
28F:→ Lordaeron: 我另外的opensource project, FPC開發的container 06/11 16:41
29F:→ Lordaeron: , 就看一下各任重肥大神去肥一下吧。 06/11 16:42
30F:推 CRPKT: 好奇可以透露一下棋類 AI 訣竅嗎 06/12 09:33
31F:→ Lordaeron: negascout+pattern evaluation, 沒了。 06/12 09:59
32F:→ Lordaeron: 人類下棋也是這兩個方式而已。 06/12 10:00
33F:推 CRPKT: 那你有機會可以分享一下面對需求擴充與變更如何一次到位嗎 06/12 10:05
34F:→ CRPKT: 我覺得比起吵要不要重構,這種技能更能帶給大家利益 06/12 10:06
35F:→ Lordaeron: 你會下棋,不就應該明白,棋要下得好,要如何看的嗎? 06/12 11:54
36F:→ Lordaeron: 概念是一樣的,在架系統架構時,多留點接口,但不要 06/12 11:55
37F:→ Lordaeron: 想一個接口做到底,也不要想什麼動態參數的。 06/12 11:56
38F:→ Lordaeron: 一個功能call 三層都還做不出來,就有問題了。 06/12 11:57
39F:→ Lordaeron: 跟其它datasource 要三輪都要不到全部,就有鬼了。 06/12 11:58
40F:→ Lordaeron: 看需求,最好能通盤看,跟下棋一樣只看一角會死很慘 06/12 11:59
41F:→ Lordaeron: 架構師對業務有了解,是很有幫助的。 06/12 12:00
42F:推 CRPKT: 我覺得你講到一些很多人都忽略的重點 06/12 12:32
43F:→ CRPKT: 1.布局優秀創造的效益遠超過事後補救 06/12 12:33
44F:→ CRPKT: 2.了解脈絡對規劃架構與實作路線非常重要 06/12 12:34
45F:→ CRPKT: 比較可惜的是並非所有環境都能讓這種布局的效益發揮到極致 06/12 12:36
46F:→ CRPKT: 同時也不是所有人都有辦法或有意願養成這種視野 06/12 12:38
47F:→ Lordaeron: 下棋你也無法做到全局最優啊。沒這種情況吧。 06/12 12:38
48F:→ Lordaeron: 下棋也就是看一個大概的pattern的結果而已。 06/12 12:39
49F:推 CRPKT: 是,所以我也不會全盤否定所有的重構 06/12 15:34
50F:→ CRPKT: 畢竟再好的規劃也難免會有小更改,偶爾小型重構很合理 06/12 15:35
51F:→ CRPKT: 退一萬步,有些產品體質差到先還債就已是新功能的最速解了 06/12 15:37
52F:→ CRPKT: 那這時候討論要不要重構也沒意義了 06/12 15:37
53F:→ Lordaeron: 重構,講的是產品,不是專案!! 06/12 15:47
54F:→ Lordaeron: 重構,要錢的。延申出要多久?要多「好」?誰付你錢? 06/12 15:52
55F:→ Lordaeron: 說白了,提出重構的兩位老兄,看不到有開發什麼大不 06/12 15:58
56F:→ Lordaeron: 了的系統。但宗教式的給出了refactor, agile, 06/12 16:01
57F:→ Lordaeron: extreme programming, DSL 等。讓大家宗教式跟著走。 06/12 16:03