顯示廣告
隱藏 ✕
※ 本文為 TLdark 轉寄自 ptt.cc 更新時間: 2022-07-09 02:20:17
看板 C_Chat
作者 pl132 (pl132)
標題 [閒聊]遊戲開發者抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃
時間 Sun Jul  3 16:39:03 2022


遊戲開發者Cliffski抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃圾」

https://tinyurl.com/229o8zbm
遊戲開發者Cliffski抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃圾」 | T客邦
[圖]
越來越多程式設計師不去研究通過底層的高效程式碼來完成工作,且許多人甚至從未寫過所謂的好程式碼。很多人往往就是引用DLL函示庫,需要什麼就去找什麼。 ...

 

作為一名從事獨立遊戲設計和程式業務的開發者,克裡夫斯基(Cliffski)在一篇文章中
吐槽道 —— 這年頭的「程式碼膨脹」,已經到了令人髮指的地步。

他以自己常使用的一個雲端備份服務為例來說明,這個由某個大公司提供的雲端備份工具
,基本上提供的服務就是指向本地端硬碟上的一個資料夾,然後把內容複製到一個遠端伺
服器上。而上傳到伺服器時,大公司可能需要做一些與資料庫管理有關的事情,例如給這
一堆上傳的檔案分配一個名稱,並驗證誰下載了它。


「這是一家大公司,所以他們有大的程式,而且可能經常被駭客攻擊,所以需要一些安全
保障,也需要一些驗證,以確保在我上傳和他們接收檔之間沒有被篡改過。我明白這一點
。」他表示。「但基本上這個程度的目的就是列舉一些文件,讀取它們,上傳它們,然後
關閉連接,並提供一個日誌檔,說明是否成功,如果不成功,出了什麼問題。事實上,我
自己也從頭開始寫過這樣的程式碼,使用wininet API和伺服器上的php與MySQL資料庫對
話。與企業級的東西相比,我的東西可能沒有那麼強大,但它確實可以做到。」


不過他表示,今天他所使用的這個大公司提供的上傳工具,檔案大小共有230MB,裡頭有
2700個不同的檔案,就為了管理這個過程。

他表示這說明了現在的應用程式,已經超越了「臃腫」可以形容的程度,程式檔案的膨脹
已經變成「完全的、徹底的、明顯的荒謬和瘋狂」。

一個普通的程式設計師都可以編寫一個同樣功能的程式,它的程式碼量小到只有這個應用
程式的 1/20,足以將文件安全、快速地上傳到伺服器。甚至可以是一個單獨的 .exe 可
執行文件,無需成百上千的動態鏈接庫(DLL)。


不僅可行,而且簡單、可靠、高效、易於調試。只需稍微努力那麼一下,它就會起到切實
的作用。

那麼,現在的程式碼為什麼會變得這麼大而臃腫呢?

「我見過不少程式員在幹這種爛活,我知曉這種情況是怎麼發生的。」他表示,越來越多
程式設計師不去研究通過底層的高效程式碼來完成工作,且許多人甚至從未寫過所謂的好
程式碼。很多人往往就是引用DLL函示庫,需要什麼就去找什麼。


「我可以斷言,在你的電腦中許多應用程式,99.9%的程式碼是絕對無用的,甚至從來沒
有被執行過。它只是在那裡,在一套多達65個檔案的DLL函示庫中,這只是因為某個程式
設計師想做一些微不足道的事情,比如保存一個點陣圖,但他們不想從底層來寫這個程式
,所以他們導入了一整桶臃腫的垃圾來實現它。」


舉個例子,當年一個僅 64Kb 的《Elite》遊戲,就包含了龐大的星系、3D 太空戰鬥、職
業發展系統、交易、以及數千顆可供探索的行星。

誠然,現如今電腦速度已經快到可以忽略程式的臃腫。但是在你使用電腦時,正在懷疑自
己到底有沒有點下去按鈕的這半秒鐘時間裡,頻率動輒數 GHz 的處理器世界裡,早已過
去了數十億年。我們浪費了個人計算機 99% 的算力和能耗,就為了這些垃圾程式。


想像一下,在你急著想要在檔案總管中快速搜尋某個檔案的時候,工作管理員卻在那搞一
堆廢話,如果你查一下後台,竟有102 個程序在忙碌著,天知道他們在幹什麼!

或許正因如此,我們才在幾乎沒有幹任何事情的情況下,你發現你去年才買的機器,今年
就「老了」。

你甚至需要每年都換一部新手機、新電視,以執行那些臃腫不堪的串流媒體 App —— 只
因為它們依賴執行的程式碼是如此糟糕!

他表示他非常懷唸過去程式的黃金時代,程式員們對記憶體和 CPU 的限制瞭如指掌。如
今,我們已經被迫生活在了一個效率極其低下、但浪費又如此誇張的泥潭裡。

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.1.144 (臺灣)
※ 文章代碼(AID): #1YmLMpF_ (C_Chat)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1656837555.A.3FF.html
amsmsk: 確實1F 07/03 16:40
argorok: 確實2F 07/03 16:40
a2364983: 給錢啊 時限跟薪水就訂在那邊 幹嘛自己寫底層3F 07/03 16:41
k960608: 要有以前那種超多限制的環境才有研究這些程式的必要阿4F 07/03 16:41
horseorange: 所以你敢刪掉99%的代碼嗎5F 07/03 16:41
mosqutiolamp: 確實6F 07/03 16:41
abccbaandy: 他去大公司工作就知道了,獨立開發都把事情想得很簡單7F 07/03 16:42
gaaaaper: 確實 你行你上8F 07/03 16:42
q251425: 幹嘛自己造已經有的輪子....9F 07/03 16:43
spfy: 對 我就廢 寫個小程式要引用幾百M的.NET框架10F 07/03 16:43
mapulcatt: 不用自己造輪子 但是使用輪子也該用得更聰明一點吧11F 07/03 16:43
aliensu: 可能還是要踏出門一下12F 07/03 16:43
wizardfizban: 那麼肝 自己重寫又沒比較多薪水 幹嘛自找麻煩13F 07/03 16:43
wizardfizban: 嫌肝太新鮮?
rockmanx52: 如果是接手前人的會留一堆垃圾很正常 因為根本看不懂15F 07/03 16:44
rockmanx52: 包括那個寫的人...
leon19790602: 無解啦,就問你接手上一個的碼,你願意全部重寫只為17F 07/03 16:44
leon19790602: 加一個功能,還是直接外掛一個省事?
tsubasawolfy: 不知道寫程式的AI會不會執著於#magic19F 07/03 16:45
flysonics: 這就是最典型的沒事幹嘛去造輪子的問題20F 07/03 16:45
hom5473: 輪子別人造的 隨便改以後維護很麻煩 但裡面又塞了一堆21F 07/03 16:46
spfy: 如果他是工程師寫了三十年程式 那我可以理解他說的 但現在高22F 07/03 16:46
fuhu66: 硬體夠強軟體就隨便寫,功能對就可以了23F 07/03 16:46
spfy: 階語言就是叫你直接用別人的輪子 就算那輪子很胖24F 07/03 16:46
Srwx: 一部分是空間成本低 所以膨脹頂多讓玩家增加下載時間25F 07/03 16:47
qwer338859: 一個爛的工程師可以製造三個工作機會.jpg26F 07/03 16:47
JustBecauseU: 好像js也是這樣欸27F 07/03 16:47
hom5473: 而大公司可能有自己常用的輪子組28F 07/03 16:47
tw15: 錢29F 07/03 16:47
flysonics: 我覺得這個人真的把問題想得太簡單 一堆DLL放在那邊就30F 07/03 16:47
flysonics: 是為了相容性跟可攜性
flysonics: 你哪天灌個東西就因為少個DLL或是兩個互相衝突 結果導
inte629l: 東西穩穩能動就好 重造出事還要扛責任33F 07/03 16:48
flysonics: 致你要花幾天的時間在那邊Debug 最後解法還超級簡單34F 07/03 16:49
arrenwu: "與企業級的東西相比,我的東西可能沒有那麼強大,35F 07/03 16:49
flysonics: 那你就會寧願留多一點空間放這些DLL了36F 07/03 16:49
arrenwu: 但它確實可以做到。" <--- 所以他想表達啥?37F 07/03 16:49
astrofluket6: Techbang呵呵連程式設計師的名字都寫錯38F 07/03 16:49
sunshinecan: 如果目標平台有足夠空間 當然是開發效率>>>程式精簡39F 07/03 16:50
Vladivostok: 現在容量就跟不用錢一樣,哪個消費者在乎大小?只有40F 07/03 16:50
Vladivostok: switch 版遊戲會加減瘦身吧?然後瘦完載day1修正檔
arrenwu: 他好像在說"我做的小項目程式可以比較精簡"的廢話42F 07/03 16:51
henry1234562: 簡單說 就是因為現在不怕容量不夠43F 07/03 16:51
medama: 確實44F 07/03 16:51
memory1024: 完全理解,我在前公司曾經砍掉系統一半的code再重寫了45F 07/03 16:51
memory1024: 1/6去取代,結果網站速度比以前快了10倍有
henry1234562: 所以把程式精簡這一步優先度就很低47F 07/03 16:51
CorkiN: 獨立遊戲開發者 難怪說的出這種話==48F 07/03 16:52
arrenwu: 有效能需求的時候自然會有人去profiling49F 07/03 16:52
eewhole: 自己寫的和接手四五個人碰過的程式就不一樣,講什麼幹話50F 07/03 16:52
q251425: 要在影響效能重大才有理由做 通常都只是佔容量而已沒差51F 07/03 16:53
henry1234562: 然後呢 接手別人寫的程式是怎麼回事應該知道吧52F 07/03 16:53
eewhole: 原來是獨立遊戲開發者講的,難怪53F 07/03 16:53
arrenwu: 「研究通過底層的高效程式碼來完成工作」這幹話都講得出54F 07/03 16:53
henry1234562: 你拿過來的東西 要加一個功能 你難道要重新把別人55F 07/03 16:53
henry1234562: 寫好的東西完全review一遍嗎
airawesu: 團體分工時 當然要選擇肥但很容易看懂的寫法比較輕鬆...57F 07/03 16:54
wanjack: 他的意思可能是你能自己造輪子 但有現成的可以用,只是那58F 07/03 16:54
henry1234562: 哪有這美國時間.. 完整看一遍跟重新開發有啥兩樣59F 07/03 16:54
wanjack: 個現成的上面有超複雜無意義的花紋這樣 自己造就能只保留60F 07/03 16:54
k960608: 前人的成果就擺在那 沒什麼事情當然是能不動就不動阿61F 07/03 16:54
wanjack: 輪子的功能不需要那堆裝飾62F 07/03 16:54
r85270607: 我反而會去注意奇怪的遊戲容量膨脹問題63F 07/03 16:54
arrenwu: 現在CI/CD可能都比他那個高效重要多了64F 07/03 16:54
CorkiN: 大公司的程式一堆都是長久pass下來的 你想改還不一定給你65F 07/03 16:54
CorkiN: 改勒 動了出事誰負責==
spfy: 能正常運作的就不要去動它 大型專案的工程師定律67F 07/03 16:54
et310: 雀食68F 07/03 16:55
henry1234562: 要改就要改一整套完整的 然後還要測試結果沒變69F 07/03 16:55
CorkiN: 而且很多時候你光要理解某部分某些東西為什麼那樣做都會70F 07/03 16:55
CorkiN: 有困難了
storyo11413: 自吹順便踩大公司72F 07/03 16:55
henry1234562: 你一個人能完成那你就自己做啊..73F 07/03 16:55
k960608: 簡單說 比起要多繞10分鐘才能回家 找新路的那個出錯成本74F 07/03 16:55
aegis123321: 同意啊 現在一堆實作就是一大串dependencies 但他舉75F 07/03 16:55
eewhole: 獨立遊戲開發不用趕時程商業工具要阿,一個月要我重寫?76F 07/03 16:55
aegis123321: 自己寫小程式有差不多功能的例子很尷尬==77F 07/03 16:55
r85270607: 記得是新德軍總部系列出現時我注意到高達50G78F 07/03 16:55
r85270607: 這對於以技術宅起家的id soft而言 臃腫真的是很奇怪
k960608: 不一定更划算就是 站在第一次探路的立場上會想找新路80F 07/03 16:55
avans: 說的是正論,但市面上已有造好的輪子,通常就是直接利用了81F 07/03 16:56
chinnez: 我他媽才不做輪子 ,我他媽就給你裝輪子 不管大小用途就82F 07/03 16:56
chinnez: 給你他媽的裝爆
spy19: 問題是去追求他所說的那些東西 遊戲公司也不會賺更多錢啊84F 07/03 16:56
arrenwu: 他舉那例子...痾 一個有工作經驗的人講話像個學生85F 07/03 16:56
r85270607: 不過外行人也不在乎就是 甚至記者以為越大越好的也有86F 07/03 16:56
henry1234562: 他是獨立開發者 如果沒有在大公司當碼農就不會理解87F 07/03 16:57
k960608: 工作經驗不是問題阿 他長期在獨立環境的話這樣想很正常88F 07/03 16:57
henry1234562: 然而理論上只要他的程式部分有跟任何人合作過89F 07/03 16:57
eewhole: 會講出這種話的人,真的想叫他多出去接觸人,別宅在家90F 07/03 16:57
henry1234562: 理論上應該就能體會到寫程式碼不是這樣91F 07/03 16:57
storyo11413: 商場最沒價值就是他認為自己很厲害的地方 縮空間沒用92F 07/03 16:57
Bencrie: 遊戲的話佔空間的絕對不是程式碼啦93F 07/03 16:57
henry1234562: 不是我要說 就算是我自己寫的 一個月前寫的都看不懂94F 07/03 16:57
s540421: 客戶不在乎你寫得多美多小,好玩好用才是他們要的95F 07/03 16:57
gaym19: 有別人的輪子可以用 幹嘛自己造一個輪子96F 07/03 16:58
Severine: 我自己就貢獻了很多QQ97F 07/03 16:58
henry1234562: 何況是不知道幾個人用多少年寫好的東西98F 07/03 16:58
flysonics: 作為工程師我認同啦 reduce code size & performance99F 07/03 16:58
winken2004: 合理100F 07/03 16:58
henry1234562: 我還花時間去研究怎麼優化他們喔101F 07/03 16:58
storyo11413: 遊戲程式不是在那邊比較誰的檔案較小誰優秀102F 07/03 16:58
arrenwu: 我甚至覺得只要有deliver on-time壓力的工程師都不會講103F 07/03 16:58
arrenwu: 出他這種幹話
flysonics: 確實是工程師技術力的考驗 問題是專案是要賣錢的 = =105F 07/03 16:58
ccpz: https://imgur.com/afwPznB106F 07/03 16:58
[圖]
henry1234562: 這就是理想跟現實的差別107F 07/03 16:58
Severine: 上頭只管何時開發好 整天壓時程108F 07/03 16:59
henry1234562: 用嘴巴說我也知道降低容量 優化很重要阿109F 07/03 16:59
k960608: 現在也不是一塊卡帶只能塞64KB還700MB的時代了 太鑽研這110F 07/03 16:59
ccpz: 所以才有這張圖在諷刺阿111F 07/03 16:59
arrenwu: 一個月前寫的都看不懂 <--- 這就誇張了吧XD112F 07/03 16:59
r85270607: 有這種想法是好事啦 遺憾的是很多場合都不在乎113F 07/03 16:59
henry1234562: 阿程式碼就不是用嘴巴說一說就會優化好的阿114F 07/03 16:59
k960608: 個反而弄錯重點浪費開發進度也不好115F 07/03 16:59
henry1234562: 嘛 誇張化了啦 但如果你這個月寫了很多奇怪東西116F 07/03 16:59
ashclay: 給錢給時間再來討論有沒有這個技術117F 07/03 16:59
ccpz: 來源: https://bit.ly/3P14L9y118F 07/03 16:59
Node module size: See how I reduced it by 90% | TSH.io
[圖]
You’ve ended up with 1GB node module size? We know the struggle is real but there’s a way to reduce that size to 100MB and speed up your app too. ...

 
tsp870197: 一看就是沒上過班的勝利組 工作事情有夠多 為了一個小119F 07/03 16:59
tsp870197: 功能從頭去寫底層出bug誰要修?當然直接抓現有穩定的來
tsp870197: 用啊 誰管他99%功能會不會用到(笑
ttyycc: 就成本問題啊,容量那麼便宜成本低,為什麼要找個成本很122F 07/03 17:00
ttyycc: 高的方式來做?
henry1234562: 突然有人問你上個月寫的這怎麼寫的 是要回想一番的124F 07/03 17:00
henry1234562: 尤其是如果你用了啥剛領會的技巧
arrenwu: 但code review的時候,PR裡面別人看不懂的通常會要你寫126F 07/03 17:00
q251425: 說真的啦程式庫就算佔也沒多少 影片圖片隨便是幾十倍大小127F 07/03 17:00
devilkool: 對不起,我就爛128F 07/03 17:00
arrenwu: 一段註解解釋一下吧?129F 07/03 17:01
CorkiN: 我是不認同這種幹話啦 做硬體的真的是能不動就不動 code130F 07/03 17:01
CorkiN: 能沿用就沿用 你要改 要時間 要人力 啊資源砸下去又出包
CorkiN: 不能work直接死去
iceonly: 果然是獨立開發者,科133F 07/03 17:01
henry1234562: 所以寫註解很重要 而且要寫人話134F 07/03 17:01
arrenwu: 這個不要求的話 以後誰碰到這段誰就要倒楣了135F 07/03 17:01
ltytw: 雀食136F 07/03 17:01
CorkiN: 八卦是台灣的硬體公司連code review這件事也沒啥在做XD137F 07/03 17:01
Bencrie: 我知道他想講什麼,但是在 Windows 上面追求這個好像138F 07/03 17:01
arrenwu: 因為要求寫document更是天方夜譚,而且很榮耀out-dated139F 07/03 17:01
henry1234562: 很常見的就是註解有寫 然後自己覺得寫得清楚140F 07/03 17:01
Bencrie: 不太對啊 XD141F 07/03 17:02
CorkiN: 沒那個美國時間142F 07/03 17:02
arrenwu: 所以code review 的時候 能要求寫作文就要寫下去143F 07/03 17:02
storyo11413: 市場上沒這個需求,哪有白痴花錢請人做這個144F 07/03 17:02
henry1234562: 然後自己幾個月回來看 這誰寫的外星語言145F 07/03 17:02
cycling: 老實講膨脹正常吧 現在都要寫一堆加密的東西146F 07/03 17:02
q251425: 不管軟硬這些話都幹話阿 不然用框架幹啥 也不少用不到阿147F 07/03 17:02
arrenwu: 以前我還多少覺得連test function在幹嘛都要寫得鉅細靡遺148F 07/03 17:03
arrenwu: 好煩,碰過一次要解其他人的bug就懂那好處
henry1234562: 是阿 你不寫註解 那個test就沒有人會去用150F 07/03 17:03
s942816: 最後一句才是重點,一堆文組學幾句就以為行151F 07/03 17:04
Axarz631: 傻傻的 dll庫未來擴充 改功能 抓bug都好用 傻子才重寫152F 07/03 17:04
timez422: 所以靠腰的敢刪嗎 我看是不敢吧153F 07/03 17:04
aegis43210: 所以硬體效能永遠不會供過於求,因為現在軟體工作者只154F 07/03 17:04
aegis43210: 會弄的愈來愈肥
s540421: 註釋寫太多就回到重構的老問題了:與其寫一堆註釋,幹嘛156F 07/03 17:05
s540421: 不寫得更易讀呢,然後繼續loop
tsp870197: 然後程式沒註解的話還真有可能過幾天就會忘了為何要加158F 07/03 17:05
tsp870197: 那行就變成所謂的看不懂了  當然會知道這行會幹嘛 但是
tsp870197: 為何要在這時做? 有時可能是客戶提出的 也可能是為了
tsp870197: 避免觸發其他bug 忘了真的很常見www
arrenwu: 與其寫一堆註釋,幹嘛不寫得更易讀 <--不衝突啊162F 07/03 17:06
q251425: 軟體工作者也是知道現在普遍硬體都可以才敢這樣做好嗎163F 07/03 17:06
henry1234562: 就算是易讀的程式 還是要寫註解阿XD164F 07/03 17:06
henry1234562: 因為這一段功能你知道 不代表你知道為啥要在這裡
hom5473: 大致上分個段落 每個段落開頭寫一下這段落處理啥166F 07/03 17:06
Nitricacid: 老人臭好重的發言  現在用高階語言開發不就為了用低167F 07/03 17:06
Nitricacid: 廉的人力快速產生穩定成品搶佔市場  還拿自己 side p
Nitricacid: roject  來比...
q251425: 現在的一堆精美網頁20年前可能只是卡死大家電腦170F 07/03 17:06
s540421: 但重構沒有產出又容易出想不到的bug,開發期提出常會被171F 07/03 17:07
s540421: 往後延~
flysonics: 我真的覺得說反正要重構幹嘛寫註解這種話很.....173F 07/03 17:07
hom5473: 每行都插註解反而看起來很累174F 07/03 17:07
rockheart: 超級認同,隨便寫一寫。反正玩家硬碟很大175F 07/03 17:07
flysonics: 寫註解至少每行節省你幾秒的時間在想他在幹嘛176F 07/03 17:07
spfy: 我本來也很認真寫註解 但客戶一天改三次需求 我改完CODE177F 07/03 17:07
spfy: 沒時間改註解啦 ㄍㄋㄇ
flysonics: 很多東西重構完還是洋洋灑灑一大篇 最後還不是要註解179F 07/03 17:08
MDay56: 確實180F 07/03 17:08
q251425: 台灣一堆公司根本沒有訂過規範 反正能動就好181F 07/03 17:09
arrenwu: 寫註解就是一件「我為人人 人人為我」的事情182F 07/03 17:09
sezna: 懷疑他沒跟人合作過183F 07/03 17:09
tsunamimk2: 這問題從COM開始就想解決了 到今天也沒有個答案184F 07/03 17:09
MDay56: 但是重複造輪子不符合開發成本,那就轉嫁去使用者的硬體ㄅ185F 07/03 17:09
arrenwu: 不過現在IDE比以前也強很多 有時候確實可以自己看程式碼186F 07/03 17:09
arrenwu: 去了解程式在幹嘛
q251425: 開會說瀑布敏捷 然後都只拿對主管有利下屬有害的點混合188F 07/03 17:09
Luos: 4 每個docker image 都是GB起跳189F 07/03 17:10
sunshinecan: 想少寫點註解的話 至少命名要認真想...190F 07/03 17:10
tsunamimk2: 每次這種人這種專案到最後都一個比一個肥大191F 07/03 17:10
rex7788: 太有效率不就沒事做了?192F 07/03 17:10
Gary21: 管他 能動能交給老闆才是最重要的^ ^b193F 07/03 17:10
q251425: 基本上都是時間長短的隕石194F 07/03 17:10
tsunamimk2: 從單一功能變套件 套件與套件相依 太肥的套件被抱怨195F 07/03 17:11
greattower: 自信點,把遊戲去掉196F 07/03 17:11
CorkiN: 現在不是還流行啥敏捷開發嗎 我聽朋友說幾乎天天都要開會197F 07/03 17:12
CorkiN: 決定方向 這種快速變化的開發模式是要怎麼讓你在那邊慢慢
CorkiN: 刻==
tsunamimk2: 三拍子的華爾滋一直這樣舞動下去200F 07/03 17:12
tsp870197: 除非之後不維護 不然不寫註解只是會婊到自己 當然外包201F 07/03 17:12
tsp870197: 丟出去能跑就好 時間到了就沒關係的倒是沒差XD
CorkiN: 還是要隕石開發 有點忘了203F 07/03 17:13
stomachache: 每個人都寫python結果就是這樣啊204F 07/03 17:13
reaturn: 自已寫?智障嗎?公司又不會多給你錢來鼓勵這種行為205F 07/03 17:13
tsunamimk2: 其實也沒啥不能刻就是 看用途206F 07/03 17:13
arrenwu: 三小啊 這關python啥事XD207F 07/03 17:13
tsunamimk2: 這根python 不python 無關啊 c/c++的世界也一樣208F 07/03 17:14
ohmylove347: 因為成本最高的是維護不是效能和容量啊,效能現在的209F 07/03 17:14
ohmylove347: 硬體能解決,硬碟也比以前便宜很多,但維護不好,死
ohmylove347: 了就是死了,bug遇到就完蛋了
flysonics: python:馬的關我屁事212F 07/03 17:14
tsunamimk2: auto config 跑十五分鐘的我都見識過了213F 07/03 17:15
Nitricacid: 敏捷開發根本被用成流星雨開發 比隕石開發還刺激XD214F 07/03 17:15
tsunamimk2: 軟體功能就是一層一層堆上去的215F 07/03 17:15
Axarz631: 以前硬體資源比工程師肝貴才錙銖必較 現在別自找麻煩216F 07/03 17:15
tsunamimk2: 一個功能一個模組背後牽扯的相依性就是那麼多217F 07/03 17:16
soccer103: 哪裡確實?留言的有多少是工程師218F 07/03 17:17
arrenwu: Python可能因為又強又可愛所以吸引很多比較不拘小節(?)219F 07/03 17:17
arrenwu: 的人寫些鳥程式,但鳥程式不是因為python造成的啊XD
tsunamimk2: 不過這例子很不好 因為顯然套件不只處理上傳這件事情221F 07/03 17:18
iamsocool: [閒聊] 卡比開發:容量夠小也是背景品質指標之一222F 07/03 17:18
Bencrie: 推文一整排都工程師沒錯啊223F 07/03 17:19
a22345e: 現在開發中比起用容量小的寫法 程式碼乾淨、debug&後續224F 07/03 17:19
a22345e: 更新方便更重要吧 而且內文也很奇怪 我用的都是兩三年前
a22345e: 的一般等級手機電腦 也不覺得容量不夠(一些遊戲跑的比
a22345e: 朋友讀iphone卡啦)
js850604: 大家是來上班不是改善公司的好嗎228F 07/03 17:19
tsunamimk2: 搞不好裡面有vpn 相關的事情 版本控制相關的事情229F 07/03 17:19
Vere: 硬體的進步只是給遊戲開發商在優化工作上偷懶230F 07/03 17:19
flysonics: 推文裡應該八九成都工程師喔wwww231F 07/03 17:20
tsunamimk2: 現代連driver開發都沒有很講究這個了232F 07/03 17:20
a22345e: 我是看一些c++教程開場幾章就強調這點的啦...我自己也就233F 07/03 17:20
a22345e: 學些皮毛
a26848400: 聽起來我們很快就要安撫機魂了235F 07/03 17:20
tsunamimk2: 應該說這問題從dos時代就開始吵了236F 07/03 17:21
arrenwu: C++現在我覺得也滿尬的 C++11之後的程式碼長得好醜237F 07/03 17:21
enderboy7652: 要加一個功能,要選擇全部重寫還是直接掛上去,是人238F 07/03 17:21
enderboy7652: 都選後者
tsunamimk2: 我已經全面改用go lang了240F 07/03 17:22
arrenwu: 但是當效能很重要的時候 還是多半在使用C++241F 07/03 17:22
Linmon: 老新聞:https://bit.ly/3ApbLZI242F 07/03 17:22
俠盜獵車手Online一個if循環19.8億次,而且7年沒人去修它,駭客順手解決這個問題了 | T客邦
[圖]
GTA 5 Online載入進遊戲少則等5、6分鐘,多則20分鐘。原來,遊戲開發商寫的程式碼太沒有效率,一個if語句竟然循環了19.8億次…. ...

 
Axarz631: 就像水電師傅去客戶家 一定材料工具開小發財全帶滿243F 07/03 17:23
arrenwu: 但是這語言本來事static-typed,後來為了迎合現代語言244F 07/03 17:23
evilaffair: 因為下班時間還沒到245F 07/03 17:23
Axarz631: 你永遠不知道客戶會突然多出什麼需求 跑回去拿不就尷尬246F 07/03 17:23
arrenwu: 的開發效率,又引入了 auto 和 lambda function247F 07/03 17:23
tsunamimk2: 上面的東西看用grpc 還是看接fastcgi248F 07/03 17:23
hom5473: 優化偷懶? 你現在功能還沒寫完 新需求就會一直壓過來了249F 07/03 17:23
arrenwu: 媽的不同理念的設計同時存在一個語言裡面 就變得好醜==250F 07/03 17:23
philip81501: 你就知道2K為什麼會這麼大坨了251F 07/03 17:23
worldark: 人類是有極限的252F 07/03 17:24
tsunamimk2: c++已經發瘋了253F 07/03 17:24
NerVGear: size 靠compiler 比較優化比較實在吧254F 07/03 17:24
hom5473: 付薪水的老闆 會給工程師空檔排優化項目? 時間是要花錢的255F 07/03 17:24
safe: 聽起來像慣老闆講的幹話256F 07/03 17:25
arrenwu: 他講的研究優化底層效率那個要給專門的team做257F 07/03 17:25
tsunamimk2: 對啊 Java c#各取所需 c++卻沒完沒了的塞新的典範258F 07/03 17:25
tamynumber1: 真的聽聽就好259F 07/03 17:25
NerVGear: 嫌程式太大可以用Os下去編260F 07/03 17:25
Acetoxy: 確實261F 07/03 17:25
tsunamimk2: 是的 底層最佳化是一個部門的事262F 07/03 17:25
Bencrie: 前提是你有 source code263F 07/03 17:26
tsunamimk2: 用os下去編是啥意思 不懂264F 07/03 17:26
flysonics: gcc的optimize flag啦265F 07/03 17:27
Bencrie: 他是說 -Os cflags/cxxflags266F 07/03 17:27
tsunamimk2: 呃 那請真的要知道optimization level的細節再說267F 07/03 17:28
tsunamimk2: 還有真的在意也許該考慮LLVM…
TakiDog: 你行你上,糞扣製造機永不停止269F 07/03 17:28
TakiDog: 現在工具類的桌面App 隨便破百MB,是框架的鍋
Bencrie: 那些 Electron apps 有機會變小嗎 XD271F 07/03 17:28
bb031v2k: 事實啊272F 07/03 17:29
zjes40604: 增加的容量對現在的設備來說根本還好  反倒是一旦增加273F 07/03 17:29
zjes40604: 了新東西卻沒dll可以debug才糟糕
Bencrie: 裝個 skype vscode slack 我們就有三份 browser 了275F 07/03 17:29
tsunamimk2: 這問題要問node 與 npm wwww276F 07/03 17:29
NerVGear: Clang跟gcc各有優缺啦 不一定277F 07/03 17:29
tsunamimk2: 不過vscode是好東西278F 07/03 17:30
abadjoke: 一個寫程式的最不想做的事情就是去讀別人的程式碼279F 07/03 17:31
Nitricacid: Electron 沒救吧 js套件就那樣 親爹都想重寫個語言來280F 07/03 17:31
Nitricacid: 改這塊..
tsunamimk2: 不對吧 我還蠻喜歡讀code 的282F 07/03 17:31
tsunamimk2: 沒用啊 莫忘maven 與 gradle
Bencrie: 以前 mozilla 就幹過 xulrunner,只是效率太爛沒人想用284F 07/03 17:32
TakiDog: 跨平台除了Tauri ,Electron/Flutter 每個App都難瘦生285F 07/03 17:32
abadjoke: 如果讀的程式碼邏輯清晰註解簡明扼要是沒問題啦286F 07/03 17:34
abadjoke: 但遇到那種註解不寫然後又充滿個人邏輯風格的就很想死
tsunamimk2: 註解是參考用的而已啦288F 07/03 17:35
Nitricacid: 論過期的註解跟沒註解哪個比較毒(ry289F 07/03 17:36
abadjoke: 沒辦法 功力不夠 常常遇到看不懂前一個人在幹什麼的事290F 07/03 17:36
tsunamimk2: 其實html5剛出現的時候真的很多人認為使用者介面描述291F 07/03 17:37
tsunamimk2: 大一統要來了
yoyun10121: 不是公司不付薪水給你做這個,是會把資金砸在重刻輪子293F 07/03 17:37
yoyun10121: 這種智障事的公司早就倒了
r85270607: 感覺本串內人人都是碼農  我不是就是了295F 07/03 17:37
tsunamimk2: 然後我們迎來了node , webpack, ecmascript的地獄296F 07/03 17:37
flysonics: 註解真的很重要 尤其是和硬體相關的code.....297F 07/03 17:38
Axarz631: 有些人的註解和ptt廢文沒什麼兩樣...298F 07/03 17:38
NerVGear: 大家都不同領域的碼農吧XD299F 07/03 17:38
flysonics: 你被逼著去幫人家抓Bug 對面還要理不理 你要生啃他code300F 07/03 17:39
Axarz631: 不是邏輯死去就是國文死去301F 07/03 17:39
flysonics: 你就會知道註解根本跟救命稻草一樣...302F 07/03 17:39
tsunamimk2: 硬體的註解通常應該拉出去寫成wiki303F 07/03 17:39
NerVGear: 硬體的確實該去看spec 而不是寫在註解304F 07/03 17:40
tsunamimk2: 留在程式碼內到最後還是都會被忘記 然後在一堆 branch305F 07/03 17:40
tsunamimk2:  翻
flysonics: spec寫很爛 HW說喔我都跟xxx講過了啊 你問他就好307F 07/03 17:40
Turas: QAQ308F 07/03 17:41
tsunamimk2: 這種事情在前公司幹過太多次了…309F 07/03 17:41
flysonics: 明明是他的code 結果xxx說你有看到bug你可以自己修啊310F 07/03 17:41
tsunamimk2: 那該花時間整理的就是spec311F 07/03 17:41
flysonics: 然後上面的人急著要跟客戶交Sample 你真的會想撞牆312F 07/03 17:41
tsunamimk2: 這還好 open source 的專案拉下來甚至沒人給你問313F 07/03 17:42
Nitricacid: 不同領域的碼農共同的痛 > 遇到 bug 結果沒任何資訊314F 07/03 17:42
Nitricacid: 只能靠通靈
Nitricacid:  遇到過一次就會寧願所有人都跟著大部隊走不要自幹才
Nitricacid: 不會像這篇的講這種幹話
tsunamimk2: 你去GitHub 看到一堆人問一樣的問題然後問你為何不幫318F 07/03 17:42
tsunamimk2: 改
flysonics: open source的東西你要拿來用 milestone本來就會拉長點320F 07/03 17:42
flysonics: 前面要讓你確認過基本功能都正常才行
tsunamimk2: 改了為何不發PR 那才叫白眼翻不完…322F 07/03 17:43
NerVGear: 老的碼農比較值錢就是他比較會通靈啊(X)323F 07/03 17:43
tsunamimk2: 對 就是通靈 久了就變通靈王了324F 07/03 17:43
cemin: 一個程式精簡了但執行跟精簡前一樣,你覺得老闆看得出來嗎325F 07/03 17:44
alan3100: 這個比較像學生剛到業界有點臭屁以為自己寫的最好用326F 07/03 17:44
shadow0326: 珍惜生命,遠離windows開發,你就不會有這麼多DLL327F 07/03 17:45
tsunamimk2: 我才剛從ansible 的地獄中擺脫出來 telnet 判斷prompt328F 07/03 17:45
tsunamimk2: 的regex 有誤
hom5473: 就想當然耳的小功能 檢查 相容 通用 容錯 都省略來寫330F 07/03 17:45
shadow0326: 同樣是輪子,根據GNU做出來的輪子就是比較輕331F 07/03 17:46
tsunamimk2: 怎麼辦 上週三要demo 我週二在重寫那個python module332F 07/03 17:46
hom5473: 等到以後遇到問題 才知道這邊要加判斷 要多檢查甚麼333F 07/03 17:46
dnkofe: 有時是時間問題,要你短時間就弄出來,從基礎建根本不夠時334F 07/03 17:46
dnkofe: 間
tsunamimk2: 算了吧 gnu..算了吧336F 07/03 17:46
hom5473: 在那些裝置上要怎麼相容處理 然後原本簡單的程式就開始肥337F 07/03 17:46
alan3100: 等你有團隊經驗就會知道自幹的程式生命週期都很短338F 07/03 17:46
jokerjuju: 雀食 你去刪刪看 看他還會不會正常運作339F 07/03 17:47
hom5473: 有時還要跟上新協定 新環境 又要回去改340F 07/03 17:47
tsunamimk2: 我還不如規定全部都用posix 相容的system call然後去341F 07/03 17:48
tsunamimk2: 他媽的圖形使用者介面 不會用cli 就滾出公司
tsunamimk2: 不會用vim 直接扣薪水
jonathan793: 確實344F 07/03 17:49
MoneyMonkey: 掩護後台的挖礦軟體?345F 07/03 17:49
tsunamimk2: linux 的so地獄是少到哪裡去346F 07/03 17:50
NerVGear: 沒有碼農不會CLI吧 如果有那連碼農都稱不上347F 07/03 17:50
tsunamimk2: abi 的坑是少到哪去348F 07/03 17:50
fancydick501: 那聘你你有什麼好方法管理大型團隊嗎xd349F 07/03 17:51
tsunamimk2: 我只管過十人團隊*2 真不知道更大要怎麼辦350F 07/03 17:52
tsunamimk2: 也許那根本就不該從工程師角度思考了…
milk830122: 有時間壓力誰會從頭造輪子 又不是沒期限352F 07/03 17:53
reaturn: 現在都是什麼要你三個月小改版,一年更一大版353F 07/03 17:53
CityRanger: 沒錯啊 但我就喜歡寫垃圾 哈哈354F 07/03 17:54
hollen9: 效能優化不是第一的話 開發成本能省則省355F 07/03 17:55
tsunamimk2: 事實上就是做不到 我現在一台ubuntu desktop 一台mbp356F 07/03 17:55
tsunamimk2:  還是用vscode 加上eclipse 加上visual studio (.net
tsunamimk2:  core)做事…
xluds24805: 看那 node modules 為什麼總是那麼肥大就知道為什麼了359F 07/03 17:56
sniper2824: 自己愛刻輪子沒人管你啊360F 07/03 17:57
Axarz631: 對啊說穿了就是把開發成本轉嫁給客戶的硬體效能361F 07/03 17:57
Axarz631: 能用幾個畢業生就弄好的程式 我幹嘛派老鳥幫你搞優化
tsunamimk2: 問題是從頭造輪子真的能用之後註定再肥大一次363F 07/03 17:58
milk830122: 用輪子跟造輪子的錢一樣的話誰要造輪子364F 07/03 17:58
tsunamimk2: 你覺得只有上傳檔案 只是因為你只用到上傳檔案…365F 07/03 17:58
hollen9: 現在網路也不是撥接速度 也不是CD安裝366F 07/03 17:58
hollen9: 硬碟也很便宜 編譯出來檔案多大不是重點了
hollen9: 反而是 CPU、GPU 這方面的優化比較重要
milk830122: 比你厲害的大神都幫你把輪子弄好了 自己刻除非你夠閒369F 07/03 17:59
Ariadust: 我不懂程式,但這個世界不就這樣嗎,演化也是從現有的東370F 07/03 17:59
Ariadust: 西去改去加,能解決問題就照著用,加不上去或是崩潰了再
Ariadust: 來想辦法
Darnatos: 解決不了的問題所以才抱怨吧373F 07/03 17:59
hollen9: 以前會覺得 100MB 很大,現在來說根本超小374F 07/03 17:59
tsunamimk2: 搞不好那個套件要處理vpn 要處理CDN, 有p2p的概念 有375F 07/03 17:59
tsunamimk2: 介接各種雲服務的api
tsunamimk2: 這是很多菜鳥工程師的特徵 想太少 覺得世界很單純 全
tsunamimk2: 世界都是笨蛋
tsunamimk2: 我用python加上flask上傳檔案五行就寫完了 為何要這
tsunamimk2: 麼肥大
tsunamimk2: 但事實上只是菜而已 這種我看了數十次了
zeyoshi: 主要還是有其他更佔空間的東西吧382F 07/03 18:02
a82611141: 確實383F 07/03 18:03
Daichiuri: 通篇廢話384F 07/03 18:03
k960608: 以前是輪子佔整體成本30% 那就會需要讓他改良385F 07/03 18:04
k960608: 現在這輪子根本佔不了什麼成本 特地浪費時間改這個幹嘛
Axarz631: 對 借來整個工具箱你只用到8號扳手 然後怪工具箱肥大387F 07/03 18:04
tsunamimk2: 就是因為懂太少了 …388F 07/03 18:05
Ron51320: 當小說寫碼字阿,寫越多別人看不懂就來問你了389F 07/03 18:05
milk830122: 怪工具箱太肥大這比喻不錯 難道運作不用帶工具箱嗎390F 07/03 18:07
milk830122: 遊戲會肥大占最重還是美術相關啦 高畫質影片 高解析材
milk830122: 質 圖片 3D模型等
shlee: 講白了就是獨立環境做久了沒有在一般公司行號跟別人合作專393F 07/03 18:08
shlee: 案才會有這種想法
ASUSboy: 這就是標準的半桶水,只懂自己的部分395F 07/03 18:09
shlee: 個人時間多 沒有專案時程跟團隊維護壓力396F 07/03 18:09
ASUSboy: 應該把他丟去別的部門看看397F 07/03 18:09
peterturtle: 第一天看技術債? www398F 07/03 18:10
notneme159: 薪水跟接手的人啊399F 07/03 18:10
linjrming: 通篇廢話,程式再臃腫也跟速度無關400F 07/03 18:10
hollen9: 自己實作輪子 完全無視scalability和maintainability401F 07/03 18:10
hollen9: 搞不好還會自己留下安全漏洞沒人知道
hollen9: 引入第三方日後發現還可以版本升級
Raptors1: 這才叫進步好嗎 那點容量又不值錢404F 07/03 18:12
lbowlbow: 你要反反組譯的話就得加一堆垃圾code進去啊405F 07/03 18:14
Jacob8888: 時間成本>>>人力、硬體406F 07/03 18:14
RINPE: 刪了出事誰負責 反正炸彈不要在我身上爆就好407F 07/03 18:14
Sacral: 我不敢刪408F 07/03 18:16
thibw13ug1: 所以這個大聲叫囂著要每個人自己造輪子才比較像沒寫過409F 07/03 18:16
thibw13ug1: 程式的人吧?  你這麼行你自己造一個輪子給大家用啊 就
thibw13ug1: 看看你的輪子最後能不能取代你看不爽的輪子阿?
breeze1108: 來臺灣輪班就會懂了412F 07/03 18:16
chuegou: 講得東西合理 我也是站在他這一派 但是我認為這只是開發413F 07/03 18:21
chuegou: 上的選擇而沒有孰是孰非
k798976869: 傻傻的 這樣才能創造軟體工程師的就業機會啊415F 07/03 18:21
k798976869: 系統太簡單 一堆人要失業了 還好軟體大神前輩們都有想
k798976869: 到 故意設計地很複雜 養活廣大工程師們
LeoYuri: 大家都馬附加上去,反正只要沒問題就好了,還是一直goto418F 07/03 18:22
LeoYuri: 一直爽
Clarkliu: 老闆:雇個門房吧 主管:買一個警衛公司好了420F 07/03 18:23
gamania0258: 確實421F 07/03 18:23
ikachann: 不要說遊戲公司,一些銀行或是政府的案子 code都又臭又422F 07/03 18:25
ikachann: 長
smart0eddie: 政府跟銀行更不敢亂動啊424F 07/03 18:29
chaosset: 不懂技術債的成本與可怕,跟從小地方做起,就會變以上推425F 07/03 18:29
chaosset: 文
alinwang: 敢說人家99%垃圾但自己做得出人家的1%嗎?427F 07/03 18:30
chaosset: 樓上通常做得到才敢大聲啦428F 07/03 18:31
zxcasd328: 給多少錢做多少事429F 07/03 18:32
xxxzxcvb: 低階都自己寫案子時間是要拉到多長430F 07/03 18:36
astrofluket6: 鍵盤程式設計師出動431F 07/03 18:39
Garyisdog: 這串釣出好多軟體工程師XD432F 07/03 18:40
sean5236921: 亂講!433F 07/03 18:43
streakray: 技術債台高築434F 07/03 18:43
s4511981: 硬體的發展導致程式設計師不受限制435F 07/03 18:46
alinwang: 大聲的通常是吹牛吧。436F 07/03 18:49
hinajian: 為何推文一堆人站在如何當個稱職社畜的角度在思考  而非437F 07/03 18:49
hinajian: 這樣是對是錯
renna038766: 幹真的439F 07/03 18:49
bnd0327: 以前不把模組分出獨立dll會被質疑是不是不會440F 07/03 18:50
bnd0327: 現在是DLL分出來被用質疑不懂底層,太苦了我
canis831025: 我可以兩秒加上去又不會出錯的事,我幹嘛多花時間改442F 07/03 18:53
canis831025: 好底層再去測試半天?
shbowm: 停在過去大概寫十年開發個小軟體的時代?444F 07/03 18:53
Haruna1998: 新手也不敢刪以前的 code 吧?沒事我去動它幹嘛 假如445F 07/03 18:55
Haruna1998: 這個功能突然客戶又要了勒?
a1e: 看運作裝置啦,現在pc上面記憶體和硬碟空間像不要錢似,你程447F 07/03 18:56
a1e: 式就算再肥能肥到1TB?幾百MB的程式,使用者都不在意了,因為
a1e: 現在1tb的硬體不到兩千塊,新電腦幾乎都是1tb硬碟了根本沒人
a1e: 在意那點空間了
swimbert: 如果每個程式都從底層開發,自然短小精悍。但開發週期長451F 07/03 18:58
swimbert: 幾倍,我們能擁有的應用就少了。硬體增強後用來增加應用
swimbert: ,這也合理
a1e: 你寫效能再好,但要花一星期,同樣功能套一堆組件不用一小時454F 07/03 18:58
a1e: 完成,是我也算後者,誰有那個時間和你計較那點不重要的空間
Axarz631: 不喜歡人家做好的量產車就閉門造車啊 成本時間自負就ok456F 07/03 18:59
a1e: 除非你的運作裝置只有不到100MB flash,這才要想辦法減法457F 07/03 19:00
pikachu2421: 原作者經歷查一下就有了吧 除了自己成立獨立開發以外458F 07/03 19:00
pikachu2421: 在三家遊戲公司工作過 其中兩家還算有名 一家是開發
pikachu2421: 過神鬼寓言(Fable)系列的Lionhead 另一家是開發Sims
pikachu2421: 系列的Maxis 從1997年開發遊戲至今 今年52歲
TimmyDD:  Python vs C462F 07/03 19:03
clisan: 問題是時間啊,而且大量安全性的patch,重刻少上一個就變463F 07/03 19:04
clisan: 安全性問題要花多少時間去查去修
james1201: 技術債堆疊出來的巨獸 其實真的不少是垃圾465F 07/03 19:05
zizc06719: 管那麼多,現在功能寫得出來比較重要好嗎==466F 07/03 19:07
Koyomiiii: 可以用就不要動 壞了你要修??467F 07/03 19:08
bobyhsu: 我好奇他是因為不會團隊溝通才變成獨立工作的==468F 07/03 19:12
bobyhsu: 大公司搶市場拼發售 外加工作人員流動率搞  誰給你時間慢
bobyhsu: 慢鑽研 多出來的上班時間你要幫老闆付嗎==?
Axarz631: 很多之所以累積成技術債是因為一開始不需做那麼大規模啊471F 07/03 19:15
Axarz631: 客戶要新功能當然從現有架構直接加上去 誰跟你每次都打
Axarz631: 掉重寫啊 久而久之累積成巨獸也是難免 只要不出bug就好
kphuang: 同意474F 07/03 19:16
Gankosakae: 想得美 你也要看看老闆會壓你的時間完成專案 還是會475F 07/03 19:16
Gankosakae: 跟客戶延期讓你慢慢刻底層
SilverFocus: 自己重造輪子或許比較快,但會爆胎477F 07/03 19:17
firingmoon: 所以更新修正你要出錢嗎..478F 07/03 19:17
Getbackers: 一堆推文的都在大公司被磨的滑不溜手,看不起理想派479F 07/03 19:18
webermist: 講白了就是現在硬體成本太低 寫的好不好就沒人在乎了480F 07/03 19:19
ENCOREH33456: 他沒有經歷過flash開發時代吧481F 07/03 19:20
Mian1997: 沒什麼,因為現在寫程式的都是低能兒,搞一堆垃圾騙吃騙482F 07/03 19:20
Mian1997: 喝,就這樣而已。
vincent8914: IoC、微服務拼起來就是容易肥大 但造輪子有比較好?484F 07/03 19:20
sunshinecan: 跟技術債有點差別吧 可維護性跟精簡程度不必然有關485F 07/03 19:20
shlee: 理想需要時間實現 現實是專案跟客戶不會給你時間486F 07/03 19:21
ENCOREH33456: 而且他太小看資安了吧487F 07/03 19:21
shlee: 更別說還有團隊問題488F 07/03 19:21
WarIII: 確實 但省事489F 07/03 19:22
summer08818: 我是不覺得他砍掉99%能重建回來啦 一個商業軟體少說490F 07/03 19:22
summer08818: 數十甚至數百人在弄 中間一定有交接的部分 每個人cod
summer08818: ing style也不同 跟自己精心打造每個零件每個介面是
summer08818: 完全不同的管理方式
reaturn: 放心,客戶跟老闆會好好的「教育」你494F 07/03 19:23
rofellosx: ...會覺得垃圾根本二流吧  那垃圾不知省多少時間495F 07/03 19:23
summer08818: 我以前經理可以code review 完全不加新功能就跟你耗496F 07/03 19:24
summer08818: 一個月 案子多的時候他就被火了 現實就是你龜毛的點
summer08818: 很常不是客戶在乎的地方
rofellosx: 那些你覺得臃腫程式就是巨人的肩膀499F 07/03 19:25
fade11: 市場只需要五萬的工程師才是效率最大500F 07/03 19:25
sameber520: 前人做的瑞士刀就確實堪用啊 從頭打新刀你要學做刀耶501F 07/03 19:26
ricestand: 不能賺錢的才是垃圾502F 07/03 19:29
nakinight: 數碼寶貝503F 07/03 19:30
wz70403: 確實504F 07/03 19:31
gox1117: 你行你上505F 07/03 19:37
v2266514: 確實,但老闆願意給多少時間讓工程師重新造輪子?506F 07/03 19:39
thibw13ug1: 一堆人一看到用別人的輪子就說是技術債 覺得有問題你507F 07/03 19:39
thibw13ug1: 自己去重造一個更好的輪子給大家用阿?
thibw13ug1: 就這種底層的東西也被說成是技術債 到底是有什麼問題?
sunwit: 抄來抄去在改成自己想要的.裡面一堆不需要的也懶的刪510F 07/03 19:39
lucky0417: 笑死,獨立開發有遇過多部門引用嗎,是開公司不是你自511F 07/03 19:39
lucky0417: 己玩欸
Axarz631: 客戶的需求只要量產車就能搞定 你就不用自作聰明幫他搞513F 07/03 19:41
Axarz631: 手工車 他也不會因此感謝你 以後別人接手也不一定會修
v2266514: 那位遊戲開發工程師要不要自己打造一個遊戲引擎?畢竟拿515F 07/03 19:42
v2266514: 別人的來用也不是全部method都會用到吧
randy061: 無奈啊517F 07/03 19:45
jack0204: 微服務有其需求存在,但不適用在遊戲客戶端場景518F 07/03 19:46
pimday: 笑了 舉c++來說 你現在要用一個map, std就幫你做好了,你519F 07/03 19:50
pimday: 只需要其中幾個function ,難不成你還要花時間k一個只有你
pimday: 專用但效率根本打不贏std::map的東西出來嗎?老闆第一個叫
pimday: 你滾吧
randy061: 因為一堆文組轉寫程式?523F 07/03 19:51
yoyun10121: 商業產品就是講成本講效率的, 還在推給老闆不給錢給時524F 07/03 19:55
yoyun10121: 間做蠢事的, 怎麼不先考慮自己願不願意花一百倍的錢買
shlee: 跟文不文組哪有相關 自己獨立開發或自己寫爽的要526F 07/03 19:56
shlee: 這樣弄當然沒差 現實是公司跟客戶哪來的時間給你
shlee: 在那邊這樣玩 更別說大型專案是多人團隊合作 誰
shlee: 有那心力陪你 這樣弄只是變相的在搞自己人而已
yoyun10121: 功能一樣只有少吃一些空間的軟體530F 07/03 19:57
phix: 都美工檔案吧531F 07/03 19:59
davidliudmc: 多雲才會說文組寫程式的問題 去把文章看完再推文532F 07/03 20:00
kurtsgm: 幹話533F 07/03 20:03
garlic1234: 現在的路寬到可以開現成坦克車,在那邊說自組一台腳踏534F 07/03 20:05
garlic1234: 車多省空間多美好,別人很難體會吧
tv1239: 確實  但是其實跟遊戲沒什麼關係XDDD536F 07/03 20:06
tv1239: 不過這時代的問題是,反正電腦很快跑得動,隨便寫就好
jackie0804: 確實538F 07/03 20:08
tv1239: 這種問題超級常見的 加上時程壓下來 垃圾code就一堆539F 07/03 20:08
yoyun10121: 跟遊戲也不會沒關係啦, 遊戲開發就是時程成本壓最緊的540F 07/03 20:10
iscl6: 一堆智障不優化 只會加機器 怎麼解541F 07/03 20:10
hungayo: 計劃性汰舊542F 07/03 20:10
ceremonial: 大家都知道的事 可以自己又寫不出來 加減用543F 07/03 20:10
yoyun10121: 價格一超過60鎂, 馬上一堆人發飆544F 07/03 20:10
tim2241257: Unity包一個空的apk就12mb 問題是有多少公司敢棄用545F 07/03 20:10
tim2241257: 養人去做一個自己要的遊戲引擎
tv1239: 然後這引擎還要能輕鬆跨平台547F 07/03 20:11
Informatik: 有一個經測試很圓的輪子 你還要自己造一個不知道耐不548F 07/03 20:11
Informatik: 耐操的?
bh2142: 自己寫library裡有的功能才是浪費生命550F 07/03 20:11
yoyun10121: 不要說遊戲引擎了, 現在最賺的手遊很多就只換皮而已551F 07/03 20:12
bh2142: 自己刻輪子不是說自己刻好就好了欸,要維護要測試什麼都552F 07/03 20:13
bh2142: 要,我平常也喜歡自己造,但這個人根本不懂軟體工程?
yoyun10121: 花個十年寫新引擎, 拿個畫質效果落後十年的成品誰要買554F 07/03 20:13
tim2241257: 這也是為什麼這幾年雲端服務開始崛起 你拿顧機房人員555F 07/03 20:14
tim2241257: 不到一成薪水的錢 有專業公司幫你顧機房+資安
tim2241257: 為什麼還要自己建機房
tony20095: 你自己造了個輪子可以動,不代表直接改裝到其他車子上558F 07/03 20:16
tony20095: 都相容,人家肥大的輪子至少不會出錯
Axarz631: 遊戲現在也往雲端化趨勢 再怎麼笨重也影響用戶端不大了560F 07/03 20:16
Cyuhsuan: 確實561F 07/03 20:18
kurtsgm: 效能跟容量根本不是問題 自己造輪子寫底層的除了浪費生命562F 07/03 20:18
kurtsgm: 以外 最大的問題是你自己造的輪子沒有經過長時間的驗證跟
kurtsgm: 測試 比起有成千上萬的開發者在使用的lib 有誰敢說自己的
kurtsgm: 輪子更穩定更沒bug
Axarz631: 對 那些都是人類智慧的結晶 經過千錘百鍊不斷進化的= =566F 07/03 20:19
kurtsgm: 會說出這種幹話八成很難跟其他人合作或是很難在大公司生567F 07/03 20:23
kurtsgm: 存 難怪是獨立工作者
tim2241257: 我連他是不是獨立開發者都很懷疑了 獨立開發者做東西569F 07/03 20:24
tim2241257: 都沒時間了 還有空去嫌東嫌西?
crorangeazy: 確實 de 一個bug 跑十個出來571F 07/03 20:30
pikachu2421: 看他的獨立遊戲公司開發過12款遊戲了啊572F 07/03 20:31
orze04: 不要重新發明輪子aka573F 07/03 20:32
chihyu729: 節省開發時間更重要吧574F 07/03 20:33
yvonne13: 不同意的大概沒寫多久程式或是本身就是製造垃圾程式的=575F 07/03 20:33
yvonne13: =
orze04: 你全凝縮在一起,可用性和維護會更大災難577F 07/03 20:33
ianchen1223: 你行你上阿578F 07/03 20:36
orze04: 這傢伙有沒有跟其他人合作溝通過啊579F 07/03 20:38
Bencrie: 這種議題不意外地討論到最後就是互相鄙視而已 XD580F 07/03 20:39
orze04: 自幹自爽 維護和後續要擴充會恨死這種人581F 07/03 20:43
twinmick: 由儉入奢易,由奢入儉難 完畢。582F 07/03 20:44
Nixwell: 應該可以改編一個我寫程式原則就是引用到爆的梗 程式碼怎583F 07/03 20:44
Nixwell: 麼胖炸 我他媽怎麼知道
raphin: 硬體進步的必然趨勢吧585F 07/03 20:48
saiboos: 人類的結晶怎麼能說垃圾586F 07/03 20:53
jupei: 新人都會嘴程式很多垃圾怎樣 但常常改到掛點587F 07/03 20:54
jaeomes: 現在就拼速度 有寫好沒問題就直接拿來用 除非真的要開發588F 07/03 20:57
jaeomes: 完全新的
shintz: wow改那個底層16格包就不知道耗了多久590F 07/03 21:03
vencil: 開發的重點是賣產品賺錢,不是花很多時間在不能賺錢的地方591F 07/03 21:06
roy1100012: 很真實592F 07/03 21:08
ideal5566: 問題是你要確保接你工作的人是否有同樣的能力維護593F 07/03 21:15
w28103566: 之前就有人優化gta5開啟速度太慢,原來是跑了幾億次迴594F 07/03 21:24
w28103566: 圈,優化後被官方採用還給他獎金
rltc: 真的說到我心坎裡…596F 07/03 21:26
aegis123321: 這篇文就第一個例子比較差而已 有些人急著嘴人菜 二597F 07/03 21:30
aegis123321: 流 沒跟人合作過XD 作者就是自己刻引擎的geek啊
hollen9: 通篇舉例都是在講編譯後的大小 完全不是現今優化重點599F 07/03 21:35
hollen9: GTA5和傲嬌模擬器的經典負面教材 都是CPU GPU的負優化
hollen9: 和大小沒關 也是影響最大的
orze04: gta5那個是一個迴圈能搞定的事情用到雙層迴圈602F 07/03 21:35
orze04: 這已經不是軟體開發問題了
hollen9: 傲嬌模擬器component沒有precache, 很多高成本的都放在604F 07/03 21:37
hollen9: 每個tick (update() 去跑才會悲劇
hollen9: gta5不光迴圈 還有不懂得利用hashmap 而是大量if else
hollen9: 這些才是真正最糟糕的 編譯後去計較40mb 80mb意義不大
kurtsgm: GTA5應該不是用lib或是自己刻輪子的問題了608F 07/03 21:41
greg90326: 軟體業的鄙視鍊在這串表露無遺609F 07/03 21:42
kurtsgm: 又或者如樓上幾樓所說 是工程師本身coding能力的問題 如610F 07/03 21:42
kurtsgm: 果是這樣等級的工程師 那自己造輪子就更加悲劇 不如用lib
kurtsgm: 其實這年代早就不是自幹的年代了 如果有在看open source
greg90326: 我是覺得爛的工程師乖乖用別人的輪子沒問題 但是等老到613F 07/03 21:43
greg90326: 一定程度的時候 都該有個自己造超屌輪子的夢想
kurtsgm: 的一些熱門專案/framework/library 很多都是幾百甚至上千615F 07/03 21:44
kurtsgm: contributor 更不用講回報bug的user有多少
kurtsgm: 單人自幹就算你是天才也有極限
kurtsgm: 還是那句話 最重要的是你的輪子有多少人幫你驗證過
orze04: GTA那問題有點類似比較兩個物件陣列重複元素,暴力法O(n^619F 07/03 21:49
orze04: 2),hashmap O(n).。 遊戲初始n還很小還覺得無所謂,到面
orze04: 後遊戲內容一多就爆炸了。
ffrank02tw: 買4個輪子,卻送來一整台車的概念。622F 07/03 21:50
greg90326: 對 這篇文章其實比較像是在講你只需要一顆輪胎 卻把車623F 07/03 21:53
greg90326: 商的所有車都買了的概念
ddIvan: 用套的快很多啊 誰那麼努力寫底層625F 07/03 22:03
dsfrf: https://i.imgur.com/mVwLyv8.jpeg 笑死,要不是別家手遊公626F 07/03 22:05
dsfrf: 司太爛我為啥要當米衛兵。
[圖]
cn5566: 重點是在開發的效率 不是在執行的效率啊 這是商業行為628F 07/03 22:07
cn5566: 所以這年頭大家才盡可能地做開源 你想要改掉人家的legacy
cn5566: 你就clone下來自己改最快了
cn5566: 但實際上摩爾定律還活著 你花時間去改絕對不會有意義的
justice0926: 確實 一堆RD喊不懂底層 真的頗呵 寫出來就是一堆垃圾632F 07/03 22:11
justice0926: 然後系統慢怪作業系統 怪硬體 呵呵
donkilu: 不用dll要造輪子造到什麼時候 公司要release634F 07/03 22:15
orze04: 不用dll,功能全都自己刻,很精簡很好看沒錯啦635F 07/03 22:23
orze04: 開發時程慢,擴充和維護搞死人
kurtsgm: XD 不是啊 這篇留言有些論點不覺得很矛盾嗎? 「這些RD就637F 07/03 22:25
kurtsgm: 是爛,只會call人家寫好的lib,為啥不自己寫底層」
kurtsgm: 啊RD爛你還叫他自己刻輪子 不怕翻車?
kurtsgm: 框架/lib沒辦法提高code的上限 但可以很有效的提升下限
kurtsgm: 永遠有更聰明的人可以幹出比lib更好的輪子 但99%的RD自幹
kurtsgm: 出來的東西不會比人家弄好千錘百鍊的東西更穩定
kurtsgm: 你各位如果期望手上玩到的遊戲都是那1%的天才寫出來的 那
kurtsgm: 可能要多等一倍的時間加上多一倍的新台幣
kurtsgm: 相較之下我是不介意硬碟空間多個三倍五倍啦....
blackstyles: 有差嗎 它也確實能動就好了 你看看python不就這樣壯646F 07/03 22:33
blackstyles: 大嗎
donkilu: Linux當初也是能動就樂勝GNU Mach648F 07/03 22:41
donkilu: 等到輪子造好 市場早就拱手讓人了
DongRaeGu: DLL不就模組化概念嗎 一個壞掉馬上就能知道問題在哪650F 07/03 23:17
louis791021: 真的 終於有人提出來651F 07/03 23:18
rkl: 大型軟體鄙視鏈現場652F 07/03 23:24
lacoste1113: 達人跟社畜的思考方式本來就不同653F 07/03 23:40
gary82gary: 容量又不是主要考量的點,穩定可運行最重要,運行效率654F 07/03 23:50
gary82gary: 其次,容量更是沒差。程式一直崩潰閃退;載入優化前花
gary82gary: 十分鐘但優化後可變一分鐘;容量上百G優化後變10G,自
gary82gary: 己想看看重要不就很清楚了
TobyH4cker: 確實coder氾濫卻沒什麼programmer658F 07/04 00:10
jack70134: 確實 但你能怎麼改變?659F 07/04 00:12
logic886: 只會說嘴,付錢優化啊660F 07/04 00:18
kr80188: 以前就是都在自幹才會程式一堆bug 又容易掛掉呀661F 07/04 00:29
adwn: 推662F 07/04 00:35
sses40713: 確實663F 07/04 00:47
hooll111: 大公司開發的產品系統架構要有彈性阿 通通寫死當然可以664F 07/04 01:29
hooll111: 很小但不易擴充阿 不過架構怎麼寫都是case by case啦沒
hooll111: 有一定
chenyuassa: 笑死 這是真的667F 07/04 01:41
tim5201314: 錢 屁話668F 07/04 02:06
nalthax: 正常啊,WINDOWS 的更新也是這樣669F 07/04 02:11
nalthax: 行政程序也差不多是類似的設計
lovingyou: 工程師花一堆時間精簡了程式碼會加薪嗎?671F 07/04 03:06
lovesao: 二八法則同樣適用672F 07/04 04:02
ageminis: 讓我想到 photoshop 早期用 HDD 跑到現在用 SSD 跑開啟673F 07/04 04:12
ageminis: 都一定要等快十秒
miha80425: 雀食 問題我是程式逃兵 現在逍遙自在675F 07/04 07:02
paimin: 為了快那不到半秒的時間重寫一個 到底是高效率還是低效率676F 07/04 07:08
sweetsmoke: 幹誰要寫底層,老人臭語言677F 07/04 07:32
gekisen: 我連dll都要看半天了還去寫lib 有人也還沒出來腦子要先溢678F 07/04 07:47
gekisen: 血了
leo125160909: 啊就拿多少錢辦多少事啊680F 07/04 09:03
jim924211: 現實中在一堆人輪流接手狀態下,重寫根本不可能681F 07/04 09:37
jim924211: 要花的心力遠大於效力,把問題推給用戶端讓他們用
jim924211: 自己的設備客服就好
kkboy: 因為這樣最省時684F 07/04 09:55
hh123yaya: 確實 但是調整成本過高 效益又很差 最後就是繼續放在那685F 07/04 10:05
[圖]
Oville: 有函式庫了 除非很追求執行效率,還要自己造輪子嗎687F 07/04 10:44
zxcasdjason1: 這完全是菜鳥發言688F 07/04 10:47
zxcasdjason1: 遵循框架是為了統一開發語言降低溝通成本,功能與
zxcasdjason1: 安全是需求,別混為一談,而需求會決定採用什麼框
zxcasdjason1: 架來解決問題,獨立開發者我好棒,我能寫高效代碼
zxcasdjason1: 但別人看不懂的思維,才是一直重造輪子的原因
easych: 大家都會抱怨動態連結垃圾庫,就算放手也沒人願意改XD693F 07/04 11:35
notinservice: 確實694F 07/04 13:21
oyaji5566: 1開發時間,2測試問題695F 07/05 12:58
oyaji5566: 你用現成的庫既省時間而且測試人員也不用再重新驗證

--
※ 看板: ACG 文章推薦值: 0 目前人氣: 0 累積人氣: 339 
作者 pl132 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇