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

看板 C_Chat
作者 pl132 (pl132)
時間 2022-07-03 16:39:03
留言 696則留言 (265推 18噓 413→)

遊戲開發者Cliffski抱怨現在程式碼誇張膨脹「可能有99%的內容都是垃圾」 https://tinyurl.com/229o8zbm 作為一名從事獨立遊戲設計和程式業務的開發者,克裡夫斯基(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 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1656837555.A.3FF.html

amsmsk: 確實 07/03 16:40

argorok: 確實 07/03 16:40

a2364983: 給錢啊 時限跟薪水就訂在那邊 幹嘛自己寫底層 07/03 16:41

k960608: 要有以前那種超多限制的環境才有研究這些程式的必要阿 07/03 16:41

horseorange: 所以你敢刪掉99%的代碼嗎 07/03 16:41

mosqutiolamp: 確實 07/03 16:41

abccbaandy: 他去大公司工作就知道了,獨立開發都把事情想得很簡單 07/03 16:42

gaaaaper: 確實 你行你上 07/03 16:42

q251425: 幹嘛自己造已經有的輪子.... 07/03 16:43

spfy: 對 我就廢 寫個小程式要引用幾百M的.NET框架 07/03 16:43

mapulcatt: 不用自己造輪子 但是使用輪子也該用得更聰明一點吧 07/03 16:43

aliensu: 可能還是要踏出門一下 07/03 16:43

wizardfizban: 那麼肝 自己重寫又沒比較多薪水 幹嘛自找麻煩 07/03 16:43

wizardfizban: 嫌肝太新鮮? 07/03 16:44

rockmanx52: 如果是接手前人的會留一堆垃圾很正常 因為根本看不懂 07/03 16:44

rockmanx52: 包括那個寫的人... 07/03 16:44

leon19790602: 無解啦,就問你接手上一個的碼,你願意全部重寫只為 07/03 16:44

leon19790602: 加一個功能,還是直接外掛一個省事? 07/03 16:44

tsubasawolfy: 不知道寫程式的AI會不會執著於#magic 07/03 16:45

flysonics: 這就是最典型的沒事幹嘛去造輪子的問題 07/03 16:45

hom5473: 輪子別人造的 隨便改以後維護很麻煩 但裡面又塞了一堆 07/03 16:46

spfy: 如果他是工程師寫了三十年程式 那我可以理解他說的 但現在高 07/03 16:46

fuhu66: 硬體夠強軟體就隨便寫,功能對就可以了 07/03 16:46

spfy: 階語言就是叫你直接用別人的輪子 就算那輪子很胖 07/03 16:46

Srwx: 一部分是空間成本低 所以膨脹頂多讓玩家增加下載時間 07/03 16:47

qwer338859: 一個爛的工程師可以製造三個工作機會.jpg 07/03 16:47

JustBecauseU: 好像js也是這樣欸 07/03 16:47

hom5473: 而大公司可能有自己常用的輪子組 07/03 16:47

tw15: 錢 07/03 16:47

flysonics: 我覺得這個人真的把問題想得太簡單 一堆DLL放在那邊就 07/03 16:47

flysonics: 是為了相容性跟可攜性 07/03 16:48

flysonics: 你哪天灌個東西就因為少個DLL或是兩個互相衝突 結果導 07/03 16:48

inte629l: 東西穩穩能動就好 重造出事還要扛責任 07/03 16:48

flysonics: 致你要花幾天的時間在那邊Debug 最後解法還超級簡單 07/03 16:49

arrenwu: "與企業級的東西相比,我的東西可能沒有那麼強大, 07/03 16:49

flysonics: 那你就會寧願留多一點空間放這些DLL了 07/03 16:49

arrenwu: 但它確實可以做到。" <--- 所以他想表達啥? 07/03 16:49

astrofluket6: Techbang呵呵連程式設計師的名字都寫錯 07/03 16:49

sunshinecan: 如果目標平台有足夠空間 當然是開發效率>>>程式精簡 07/03 16:50

Vladivostok: 現在容量就跟不用錢一樣,哪個消費者在乎大小?只有 07/03 16:50

Vladivostok: switch 版遊戲會加減瘦身吧?然後瘦完載day1修正檔 07/03 16:50

arrenwu: 他好像在說"我做的小項目程式可以比較精簡"的廢話 07/03 16:51

henry1234562: 簡單說 就是因為現在不怕容量不夠 07/03 16:51

medama: 確實 07/03 16:51

memory1024: 完全理解,我在前公司曾經砍掉系統一半的code再重寫了 07/03 16:51

memory1024: 1/6去取代,結果網站速度比以前快了10倍有 07/03 16:51

henry1234562: 所以把程式精簡這一步優先度就很低 07/03 16:51

CorkiN: 獨立遊戲開發者 難怪說的出這種話== 07/03 16:52

arrenwu: 有效能需求的時候自然會有人去profiling 07/03 16:52

eewhole: 自己寫的和接手四五個人碰過的程式就不一樣,講什麼幹話 07/03 16:52

q251425: 要在影響效能重大才有理由做 通常都只是佔容量而已沒差 07/03 16:53

henry1234562: 然後呢 接手別人寫的程式是怎麼回事應該知道吧 07/03 16:53

eewhole: 原來是獨立遊戲開發者講的,難怪 07/03 16:53

arrenwu: 「研究通過底層的高效程式碼來完成工作」這幹話都講得出 07/03 16:53

henry1234562: 你拿過來的東西 要加一個功能 你難道要重新把別人 07/03 16:53

henry1234562: 寫好的東西完全review一遍嗎 07/03 16:53

airawesu: 團體分工時 當然要選擇肥但很容易看懂的寫法比較輕鬆... 07/03 16:54

wanjack: 他的意思可能是你能自己造輪子 但有現成的可以用,只是那 07/03 16:54

henry1234562: 哪有這美國時間.. 完整看一遍跟重新開發有啥兩樣 07/03 16:54

wanjack: 個現成的上面有超複雜無意義的花紋這樣 自己造就能只保留 07/03 16:54

k960608: 前人的成果就擺在那 沒什麼事情當然是能不動就不動阿 07/03 16:54

wanjack: 輪子的功能不需要那堆裝飾 07/03 16:54

r85270607: 我反而會去注意奇怪的遊戲容量膨脹問題 07/03 16:54

arrenwu: 現在CI/CD可能都比他那個高效重要多了 07/03 16:54

CorkiN: 大公司的程式一堆都是長久pass下來的 你想改還不一定給你 07/03 16:54

CorkiN: 改勒 動了出事誰負責== 07/03 16:54

spfy: 能正常運作的就不要去動它 大型專案的工程師定律 07/03 16:54

et310: 雀食 07/03 16:55

henry1234562: 要改就要改一整套完整的 然後還要測試結果沒變 07/03 16:55

CorkiN: 而且很多時候你光要理解某部分某些東西為什麼那樣做都會 07/03 16:55

CorkiN: 有困難了 07/03 16:55

storyo11413: 自吹順便踩大公司 07/03 16:55

henry1234562: 你一個人能完成那你就自己做啊.. 07/03 16:55

k960608: 簡單說 比起要多繞10分鐘才能回家 找新路的那個出錯成本 07/03 16:55

aegis123321: 同意啊 現在一堆實作就是一大串dependencies 但他舉 07/03 16:55

eewhole: 獨立遊戲開發不用趕時程商業工具要阿,一個月要我重寫? 07/03 16:55

aegis123321: 自己寫小程式有差不多功能的例子很尷尬== 07/03 16:55

r85270607: 記得是新德軍總部系列出現時我注意到高達50G 07/03 16:55

r85270607: 這對於以技術宅起家的id soft而言 臃腫真的是很奇怪 07/03 16:55

k960608: 不一定更划算就是 站在第一次探路的立場上會想找新路 07/03 16:55

avans: 說的是正論,但市面上已有造好的輪子,通常就是直接利用了 07/03 16:56

chinnez: 我他媽才不做輪子 ,我他媽就給你裝輪子 不管大小用途就 07/03 16:56

chinnez: 給你他媽的裝爆 07/03 16:56

spy19: 問題是去追求他所說的那些東西 遊戲公司也不會賺更多錢啊 07/03 16:56

arrenwu: 他舉那例子...痾 一個有工作經驗的人講話像個學生 07/03 16:56

r85270607: 不過外行人也不在乎就是 甚至記者以為越大越好的也有 07/03 16:56

henry1234562: 他是獨立開發者 如果沒有在大公司當碼農就不會理解 07/03 16:57

k960608: 工作經驗不是問題阿 他長期在獨立環境的話這樣想很正常 07/03 16:57

henry1234562: 然而理論上只要他的程式部分有跟任何人合作過 07/03 16:57

eewhole: 會講出這種話的人,真的想叫他多出去接觸人,別宅在家 07/03 16:57

henry1234562: 理論上應該就能體會到寫程式碼不是這樣 07/03 16:57

storyo11413: 商場最沒價值就是他認為自己很厲害的地方 縮空間沒用 07/03 16:57

Bencrie: 遊戲的話佔空間的絕對不是程式碼啦 07/03 16:57

henry1234562: 不是我要說 就算是我自己寫的 一個月前寫的都看不懂 07/03 16:57

s540421: 客戶不在乎你寫得多美多小,好玩好用才是他們要的 07/03 16:57

gaym19: 有別人的輪子可以用 幹嘛自己造一個輪子 07/03 16:58

Severine: 我自己就貢獻了很多QQ 07/03 16:58

henry1234562: 何況是不知道幾個人用多少年寫好的東西 07/03 16:58

flysonics: 作為工程師我認同啦 reduce code size & performance 07/03 16:58

winken2004: 合理 07/03 16:58

henry1234562: 我還花時間去研究怎麼優化他們喔 07/03 16:58

storyo11413: 遊戲程式不是在那邊比較誰的檔案較小誰優秀 07/03 16:58

arrenwu: 我甚至覺得只要有deliver on-time壓力的工程師都不會講 07/03 16:58

arrenwu: 出他這種幹話 07/03 16:58

flysonics: 確實是工程師技術力的考驗 問題是專案是要賣錢的 = = 07/03 16:58

ccpz: https://imgur.com/afwPznB 07/03 16:58

henry1234562: 這就是理想跟現實的差別 07/03 16:58

Severine: 上頭只管何時開發好 整天壓時程 07/03 16:59

henry1234562: 用嘴巴說我也知道降低容量 優化很重要阿 07/03 16:59

k960608: 現在也不是一塊卡帶只能塞64KB還700MB的時代了 太鑽研這 07/03 16:59

ccpz: 所以才有這張圖在諷刺阿 07/03 16:59

arrenwu: 一個月前寫的都看不懂 <--- 這就誇張了吧XD 07/03 16:59

r85270607: 有這種想法是好事啦 遺憾的是很多場合都不在乎 07/03 16:59

henry1234562: 阿程式碼就不是用嘴巴說一說就會優化好的阿 07/03 16:59

k960608: 個反而弄錯重點浪費開發進度也不好 07/03 16:59

henry1234562: 嘛 誇張化了啦 但如果你這個月寫了很多奇怪東西 07/03 16:59

ashclay: 給錢給時間再來討論有沒有這個技術 07/03 16:59

ccpz: 來源: https://bit.ly/3P14L9y 07/03 16:59

tsp870197: 一看就是沒上過班的勝利組 工作事情有夠多 為了一個小 07/03 16:59

tsp870197: 功能從頭去寫底層出bug誰要修?當然直接抓現有穩定的來 07/03 17:00

tsp870197: 用啊 誰管他99%功能會不會用到(笑 07/03 17:00

ttyycc: 就成本問題啊,容量那麼便宜成本低,為什麼要找個成本很 07/03 17:00

ttyycc: 高的方式來做? 07/03 17:00

henry1234562: 突然有人問你上個月寫的這怎麼寫的 是要回想一番的 07/03 17:00

henry1234562: 尤其是如果你用了啥剛領會的技巧 07/03 17:00

arrenwu: 但code review的時候,PR裡面別人看不懂的通常會要你寫 07/03 17:00

q251425: 說真的啦程式庫就算佔也沒多少 影片圖片隨便是幾十倍大小 07/03 17:00

devilkool: 對不起,我就爛 07/03 17:00

arrenwu: 一段註解解釋一下吧? 07/03 17:01

CorkiN: 我是不認同這種幹話啦 做硬體的真的是能不動就不動 code 07/03 17:01

CorkiN: 能沿用就沿用 你要改 要時間 要人力 啊資源砸下去又出包 07/03 17:01

CorkiN: 不能work直接死去 07/03 17:01

iceonly: 果然是獨立開發者,科 07/03 17:01

henry1234562: 所以寫註解很重要 而且要寫人話 07/03 17:01

arrenwu: 這個不要求的話 以後誰碰到這段誰就要倒楣了 07/03 17:01

ltytw: 雀食 07/03 17:01

CorkiN: 八卦是台灣的硬體公司連code review這件事也沒啥在做XD 07/03 17:01

Bencrie: 我知道他想講什麼,但是在 Windows 上面追求這個好像 07/03 17:01

arrenwu: 因為要求寫document更是天方夜譚,而且很榮耀out-dated 07/03 17:01

henry1234562: 很常見的就是註解有寫 然後自己覺得寫得清楚 07/03 17:01

Bencrie: 不太對啊 XD 07/03 17:02

CorkiN: 沒那個美國時間 07/03 17:02

arrenwu: 所以code review 的時候 能要求寫作文就要寫下去 07/03 17:02

storyo11413: 市場上沒這個需求,哪有白痴花錢請人做這個 07/03 17:02

henry1234562: 然後自己幾個月回來看 這誰寫的外星語言 07/03 17:02

cycling: 老實講膨脹正常吧 現在都要寫一堆加密的東西 07/03 17:02

q251425: 不管軟硬這些話都幹話阿 不然用框架幹啥 也不少用不到阿 07/03 17:02

arrenwu: 以前我還多少覺得連test function在幹嘛都要寫得鉅細靡遺 07/03 17:03

arrenwu: 好煩,碰過一次要解其他人的bug就懂那好處 07/03 17:03

henry1234562: 是阿 你不寫註解 那個test就沒有人會去用 07/03 17:03

s942816: 最後一句才是重點,一堆文組學幾句就以為行 07/03 17:04

Axarz631: 傻傻的 dll庫未來擴充 改功能 抓bug都好用 傻子才重寫 07/03 17:04

timez422: 所以靠腰的敢刪嗎 我看是不敢吧 07/03 17:04

aegis43210: 所以硬體效能永遠不會供過於求,因為現在軟體工作者只 07/03 17:04

aegis43210: 會弄的愈來愈肥 07/03 17:04

s540421: 註釋寫太多就回到重構的老問題了:與其寫一堆註釋,幹嘛 07/03 17:05

s540421: 不寫得更易讀呢,然後繼續loop 07/03 17:05

tsp870197: 然後程式沒註解的話還真有可能過幾天就會忘了為何要加 07/03 17:05

tsp870197: 那行就變成所謂的看不懂了 當然會知道這行會幹嘛 但是 07/03 17:05

tsp870197: 為何要在這時做? 有時可能是客戶提出的 也可能是為了 07/03 17:05

tsp870197: 避免觸發其他bug 忘了真的很常見www 07/03 17:05

arrenwu: 與其寫一堆註釋,幹嘛不寫得更易讀 <--不衝突啊 07/03 17:06

q251425: 軟體工作者也是知道現在普遍硬體都可以才敢這樣做好嗎 07/03 17:06

henry1234562: 就算是易讀的程式 還是要寫註解阿XD 07/03 17:06

henry1234562: 因為這一段功能你知道 不代表你知道為啥要在這裡 07/03 17:06

hom5473: 大致上分個段落 每個段落開頭寫一下這段落處理啥 07/03 17:06

Nitricacid: 老人臭好重的發言 現在用高階語言開發不就為了用低 07/03 17:06

Nitricacid: 廉的人力快速產生穩定成品搶佔市場 還拿自己 side p 07/03 17:06

Nitricacid: roject 來比... 07/03 17:06

q251425: 現在的一堆精美網頁20年前可能只是卡死大家電腦 07/03 17:06

s540421: 但重構沒有產出又容易出想不到的bug,開發期提出常會被 07/03 17:07

s540421: 往後延~ 07/03 17:07

flysonics: 我真的覺得說反正要重構幹嘛寫註解這種話很..... 07/03 17:07

hom5473: 每行都插註解反而看起來很累 07/03 17:07

rockheart: 超級認同,隨便寫一寫。反正玩家硬碟很大 07/03 17:07

flysonics: 寫註解至少每行節省你幾秒的時間在想他在幹嘛 07/03 17:07

spfy: 我本來也很認真寫註解 但客戶一天改三次需求 我改完CODE 07/03 17:07

spfy: 沒時間改註解啦 ㄍㄋㄇ 07/03 17:08

flysonics: 很多東西重構完還是洋洋灑灑一大篇 最後還不是要註解 07/03 17:08

MDay56: 確實 07/03 17:08

q251425: 台灣一堆公司根本沒有訂過規範 反正能動就好 07/03 17:09

arrenwu: 寫註解就是一件「我為人人 人人為我」的事情 07/03 17:09

sezna: 懷疑他沒跟人合作過 07/03 17:09

tsunamimk2: 這問題從COM開始就想解決了 到今天也沒有個答案 07/03 17:09

MDay56: 但是重複造輪子不符合開發成本,那就轉嫁去使用者的硬體ㄅ 07/03 17:09

arrenwu: 不過現在IDE比以前也強很多 有時候確實可以自己看程式碼 07/03 17:09

arrenwu: 去了解程式在幹嘛 07/03 17:09

q251425: 開會說瀑布敏捷 然後都只拿對主管有利下屬有害的點混合 07/03 17:09

Luos: 4 每個docker image 都是GB起跳 07/03 17:10

sunshinecan: 想少寫點註解的話 至少命名要認真想... 07/03 17:10

tsunamimk2: 每次這種人這種專案到最後都一個比一個肥大 07/03 17:10

rex7788: 太有效率不就沒事做了? 07/03 17:10

Gary21: 管他 能動能交給老闆才是最重要的^ ^b 07/03 17:10

q251425: 基本上都是時間長短的隕石 07/03 17:10

tsunamimk2: 從單一功能變套件 套件與套件相依 太肥的套件被抱怨 07/03 17:11

greattower: 自信點,把遊戲去掉 07/03 17:11

CorkiN: 現在不是還流行啥敏捷開發嗎 我聽朋友說幾乎天天都要開會 07/03 17:12

CorkiN: 決定方向 這種快速變化的開發模式是要怎麼讓你在那邊慢慢 07/03 17:12

CorkiN: 刻== 07/03 17:12

tsunamimk2: 三拍子的華爾滋一直這樣舞動下去 07/03 17:12

tsp870197: 除非之後不維護 不然不寫註解只是會婊到自己 當然外包 07/03 17:12

tsp870197: 丟出去能跑就好 時間到了就沒關係的倒是沒差XD 07/03 17:12

CorkiN: 還是要隕石開發 有點忘了 07/03 17:13

stomachache: 每個人都寫python結果就是這樣啊 07/03 17:13

reaturn: 自已寫?智障嗎?公司又不會多給你錢來鼓勵這種行為 07/03 17:13

tsunamimk2: 其實也沒啥不能刻就是 看用途 07/03 17:13

arrenwu: 三小啊 這關python啥事XD 07/03 17:13

tsunamimk2: 這根python 不python 無關啊 c/c++的世界也一樣 07/03 17:14

ohmylove347: 因為成本最高的是維護不是效能和容量啊,效能現在的 07/03 17:14

ohmylove347: 硬體能解決,硬碟也比以前便宜很多,但維護不好,死 07/03 17:14

ohmylove347: 了就是死了,bug遇到就完蛋了 07/03 17:14

flysonics: python:馬的關我屁事 07/03 17:14

tsunamimk2: auto config 跑十五分鐘的我都見識過了 07/03 17:15

Nitricacid: 敏捷開發根本被用成流星雨開發 比隕石開發還刺激XD 07/03 17:15

tsunamimk2: 軟體功能就是一層一層堆上去的 07/03 17:15

Axarz631: 以前硬體資源比工程師肝貴才錙銖必較 現在別自找麻煩 07/03 17:15

tsunamimk2: 一個功能一個模組背後牽扯的相依性就是那麼多 07/03 17:16

soccer103: 哪裡確實?留言的有多少是工程師 07/03 17:17

arrenwu: Python可能因為又強又可愛所以吸引很多比較不拘小節(?) 07/03 17:17

arrenwu: 的人寫些鳥程式,但鳥程式不是因為python造成的啊XD 07/03 17:17

tsunamimk2: 不過這例子很不好 因為顯然套件不只處理上傳這件事情 07/03 17:18

iamsocool: [閒聊] 卡比開發:容量夠小也是背景品質指標之一 07/03 17:18

Bencrie: 推文一整排都工程師沒錯啊 07/03 17:19

a22345e: 現在開發中比起用容量小的寫法 程式碼乾淨、debug&後續 07/03 17:19

a22345e: 更新方便更重要吧 而且內文也很奇怪 我用的都是兩三年前 07/03 17:19

a22345e: 的一般等級手機電腦 也不覺得容量不夠(一些遊戲跑的比 07/03 17:19

a22345e: 朋友讀iphone卡啦) 07/03 17:19

js850604: 大家是來上班不是改善公司的好嗎 07/03 17:19

tsunamimk2: 搞不好裡面有vpn 相關的事情 版本控制相關的事情 07/03 17:19

Vere: 硬體的進步只是給遊戲開發商在優化工作上偷懶 07/03 17:19

flysonics: 推文裡應該八九成都工程師喔wwww 07/03 17:20

tsunamimk2: 現代連driver開發都沒有很講究這個了 07/03 17:20

a22345e: 我是看一些c++教程開場幾章就強調這點的啦...我自己也就 07/03 17:20

a22345e: 學些皮毛 07/03 17:20

a26848400: 聽起來我們很快就要安撫機魂了 07/03 17:20

tsunamimk2: 應該說這問題從dos時代就開始吵了 07/03 17:21

arrenwu: C++現在我覺得也滿尬的 C++11之後的程式碼長得好醜 07/03 17:21

enderboy7652: 要加一個功能,要選擇全部重寫還是直接掛上去,是人 07/03 17:21

enderboy7652: 都選後者 07/03 17:21

tsunamimk2: 我已經全面改用go lang了 07/03 17:22

arrenwu: 但是當效能很重要的時候 還是多半在使用C++ 07/03 17:22

Linmon: 老新聞:https://bit.ly/3ApbLZI 07/03 17:22

Axarz631: 就像水電師傅去客戶家 一定材料工具開小發財全帶滿 07/03 17:23

arrenwu: 但是這語言本來事static-typed,後來為了迎合現代語言 07/03 17:23

evilaffair: 因為下班時間還沒到 07/03 17:23

Axarz631: 你永遠不知道客戶會突然多出什麼需求 跑回去拿不就尷尬 07/03 17:23

arrenwu: 的開發效率,又引入了 auto 和 lambda function 07/03 17:23

tsunamimk2: 上面的東西看用grpc 還是看接fastcgi 07/03 17:23

hom5473: 優化偷懶? 你現在功能還沒寫完 新需求就會一直壓過來了 07/03 17:23

arrenwu: 媽的不同理念的設計同時存在一個語言裡面 就變得好醜== 07/03 17:23

philip81501: 你就知道2K為什麼會這麼大坨了 07/03 17:23

worldark: 人類是有極限的 07/03 17:24

tsunamimk2: c++已經發瘋了 07/03 17:24

NerVGear: size 靠compiler 比較優化比較實在吧 07/03 17:24

hom5473: 付薪水的老闆 會給工程師空檔排優化項目? 時間是要花錢的 07/03 17:24

safe: 聽起來像慣老闆講的幹話 07/03 17:25

arrenwu: 他講的研究優化底層效率那個要給專門的team做 07/03 17:25

tsunamimk2: 對啊 Java c#各取所需 c++卻沒完沒了的塞新的典範 07/03 17:25

tamynumber1: 真的聽聽就好 07/03 17:25

NerVGear: 嫌程式太大可以用Os下去編 07/03 17:25

Acetoxy: 確實 07/03 17:25

tsunamimk2: 是的 底層最佳化是一個部門的事 07/03 17:25

Bencrie: 前提是你有 source code 07/03 17:26

tsunamimk2: 用os下去編是啥意思 不懂 07/03 17:26

flysonics: gcc的optimize flag啦 07/03 17:27

Bencrie: 他是說 -Os cflags/cxxflags 07/03 17:27

tsunamimk2: 呃 那請真的要知道optimization level的細節再說 07/03 17:28

tsunamimk2: 還有真的在意也許該考慮LLVM… 07/03 17:28

TakiDog: 你行你上,糞扣製造機永不停止 07/03 17:28

TakiDog: 現在工具類的桌面App 隨便破百MB,是框架的鍋 07/03 17:28

Bencrie: 那些 Electron apps 有機會變小嗎 XD 07/03 17:28

bb031v2k: 事實啊 07/03 17:29

zjes40604: 增加的容量對現在的設備來說根本還好 反倒是一旦增加 07/03 17:29

zjes40604: 了新東西卻沒dll可以debug才糟糕 07/03 17:29

Bencrie: 裝個 skype vscode slack 我們就有三份 browser 了 07/03 17:29

tsunamimk2: 這問題要問node 與 npm wwww 07/03 17:29

NerVGear: Clang跟gcc各有優缺啦 不一定 07/03 17:29

tsunamimk2: 不過vscode是好東西 07/03 17:30

abadjoke: 一個寫程式的最不想做的事情就是去讀別人的程式碼 07/03 17:31

Nitricacid: Electron 沒救吧 js套件就那樣 親爹都想重寫個語言來 07/03 17:31

Nitricacid: 改這塊.. 07/03 17:31

tsunamimk2: 不對吧 我還蠻喜歡讀code 的 07/03 17:31

tsunamimk2: 沒用啊 莫忘maven 與 gradle 07/03 17:32

Bencrie: 以前 mozilla 就幹過 xulrunner,只是效率太爛沒人想用 07/03 17:32

TakiDog: 跨平台除了Tauri ,Electron/Flutter 每個App都難瘦生 07/03 17:32

abadjoke: 如果讀的程式碼邏輯清晰註解簡明扼要是沒問題啦 07/03 17:34

abadjoke: 但遇到那種註解不寫然後又充滿個人邏輯風格的就很想死 07/03 17:34

tsunamimk2: 註解是參考用的而已啦 07/03 17:35

Nitricacid: 論過期的註解跟沒註解哪個比較毒(ry 07/03 17:36

abadjoke: 沒辦法 功力不夠 常常遇到看不懂前一個人在幹什麼的事 07/03 17:36

tsunamimk2: 其實html5剛出現的時候真的很多人認為使用者介面描述 07/03 17:37

tsunamimk2: 大一統要來了 07/03 17:37

yoyun10121: 不是公司不付薪水給你做這個,是會把資金砸在重刻輪子 07/03 17:37

yoyun10121: 這種智障事的公司早就倒了 07/03 17:37

r85270607: 感覺本串內人人都是碼農 我不是就是了 07/03 17:37

tsunamimk2: 然後我們迎來了node , webpack, ecmascript的地獄 07/03 17:37

flysonics: 註解真的很重要 尤其是和硬體相關的code..... 07/03 17:38

Axarz631: 有些人的註解和ptt廢文沒什麼兩樣... 07/03 17:38

NerVGear: 大家都不同領域的碼農吧XD 07/03 17:38

flysonics: 你被逼著去幫人家抓Bug 對面還要理不理 你要生啃他code 07/03 17:39

Axarz631: 不是邏輯死去就是國文死去 07/03 17:39

flysonics: 你就會知道註解根本跟救命稻草一樣... 07/03 17:39

tsunamimk2: 硬體的註解通常應該拉出去寫成wiki 07/03 17:39

NerVGear: 硬體的確實該去看spec 而不是寫在註解 07/03 17:40

tsunamimk2: 留在程式碼內到最後還是都會被忘記 然後在一堆 branch 07/03 17:40

tsunamimk2: 翻 07/03 17:40

flysonics: spec寫很爛 HW說喔我都跟xxx講過了啊 你問他就好 07/03 17:40

Turas: QAQ 07/03 17:41

tsunamimk2: 這種事情在前公司幹過太多次了… 07/03 17:41

flysonics: 明明是他的code 結果xxx說你有看到bug你可以自己修啊 07/03 17:41

tsunamimk2: 那該花時間整理的就是spec 07/03 17:41

flysonics: 然後上面的人急著要跟客戶交Sample 你真的會想撞牆 07/03 17:41

tsunamimk2: 這還好 open source 的專案拉下來甚至沒人給你問 07/03 17:42

Nitricacid: 不同領域的碼農共同的痛 > 遇到 bug 結果沒任何資訊 07/03 17:42

Nitricacid: 只能靠通靈 07/03 17:42

Nitricacid: 遇到過一次就會寧願所有人都跟著大部隊走不要自幹才 07/03 17:42

Nitricacid: 不會像這篇的講這種幹話 07/03 17:42

tsunamimk2: 你去GitHub 看到一堆人問一樣的問題然後問你為何不幫 07/03 17:42

tsunamimk2: 改 07/03 17:42

flysonics: open source的東西你要拿來用 milestone本來就會拉長點 07/03 17:42

flysonics: 前面要讓你確認過基本功能都正常才行 07/03 17:43

tsunamimk2: 改了為何不發PR 那才叫白眼翻不完… 07/03 17:43

NerVGear: 老的碼農比較值錢就是他比較會通靈啊(X) 07/03 17:43

tsunamimk2: 對 就是通靈 久了就變通靈王了 07/03 17:43

cemin: 一個程式精簡了但執行跟精簡前一樣,你覺得老闆看得出來嗎 07/03 17:44

alan3100: 這個比較像學生剛到業界有點臭屁以為自己寫的最好用 07/03 17:44

shadow0326: 珍惜生命,遠離windows開發,你就不會有這麼多DLL 07/03 17:45

tsunamimk2: 我才剛從ansible 的地獄中擺脫出來 telnet 判斷prompt 07/03 17:45

tsunamimk2: 的regex 有誤 07/03 17:45

hom5473: 就想當然耳的小功能 檢查 相容 通用 容錯 都省略來寫 07/03 17:45

shadow0326: 同樣是輪子,根據GNU做出來的輪子就是比較輕 07/03 17:46

tsunamimk2: 怎麼辦 上週三要demo 我週二在重寫那個python module 07/03 17:46

hom5473: 等到以後遇到問題 才知道這邊要加判斷 要多檢查甚麼 07/03 17:46

dnkofe: 有時是時間問題,要你短時間就弄出來,從基礎建根本不夠時 07/03 17:46

dnkofe: 間 07/03 17:46

tsunamimk2: 算了吧 gnu..算了吧 07/03 17:46

hom5473: 在那些裝置上要怎麼相容處理 然後原本簡單的程式就開始肥 07/03 17:46

alan3100: 等你有團隊經驗就會知道自幹的程式生命週期都很短 07/03 17:46

jokerjuju: 雀食 你去刪刪看 看他還會不會正常運作 07/03 17:47

hom5473: 有時還要跟上新協定 新環境 又要回去改 07/03 17:47

tsunamimk2: 我還不如規定全部都用posix 相容的system call然後去 07/03 17:48

tsunamimk2: 他媽的圖形使用者介面 不會用cli 就滾出公司 07/03 17:48

tsunamimk2: 不會用vim 直接扣薪水 07/03 17:49

jonathan793: 確實 07/03 17:49

MoneyMonkey: 掩護後台的挖礦軟體? 07/03 17:49

tsunamimk2: linux 的so地獄是少到哪裡去 07/03 17:50

NerVGear: 沒有碼農不會CLI吧 如果有那連碼農都稱不上 07/03 17:50

tsunamimk2: abi 的坑是少到哪去 07/03 17:50

fancydick501: 那聘你你有什麼好方法管理大型團隊嗎xd 07/03 17:51

tsunamimk2: 我只管過十人團隊*2 真不知道更大要怎麼辦 07/03 17:52

tsunamimk2: 也許那根本就不該從工程師角度思考了… 07/03 17:52

milk830122: 有時間壓力誰會從頭造輪子 又不是沒期限 07/03 17:53

reaturn: 現在都是什麼要你三個月小改版,一年更一大版 07/03 17:53

CityRanger: 沒錯啊 但我就喜歡寫垃圾 哈哈 07/03 17:54

hollen9: 效能優化不是第一的話 開發成本能省則省 07/03 17:55

tsunamimk2: 事實上就是做不到 我現在一台ubuntu desktop 一台mbp 07/03 17:55

tsunamimk2: 還是用vscode 加上eclipse 加上visual studio (.net 07/03 17:55

tsunamimk2: core)做事… 07/03 17:55

xluds24805: 看那 node modules 為什麼總是那麼肥大就知道為什麼了 07/03 17:56

sniper2824: 自己愛刻輪子沒人管你啊 07/03 17:57

Axarz631: 對啊說穿了就是把開發成本轉嫁給客戶的硬體效能 07/03 17:57

Axarz631: 能用幾個畢業生就弄好的程式 我幹嘛派老鳥幫你搞優化 07/03 17:57

tsunamimk2: 問題是從頭造輪子真的能用之後註定再肥大一次 07/03 17:58

milk830122: 用輪子跟造輪子的錢一樣的話誰要造輪子 07/03 17:58

tsunamimk2: 你覺得只有上傳檔案 只是因為你只用到上傳檔案… 07/03 17:58

hollen9: 現在網路也不是撥接速度 也不是CD安裝 07/03 17:58

hollen9: 硬碟也很便宜 編譯出來檔案多大不是重點了 07/03 17:58

hollen9: 反而是 CPU、GPU 這方面的優化比較重要 07/03 17:58

milk830122: 比你厲害的大神都幫你把輪子弄好了 自己刻除非你夠閒 07/03 17:59

Ariadust: 我不懂程式,但這個世界不就這樣嗎,演化也是從現有的東 07/03 17:59

Ariadust: 西去改去加,能解決問題就照著用,加不上去或是崩潰了再 07/03 17:59

Ariadust: 來想辦法 07/03 17:59

Darnatos: 解決不了的問題所以才抱怨吧 07/03 17:59

hollen9: 以前會覺得 100MB 很大,現在來說根本超小 07/03 17:59

tsunamimk2: 搞不好那個套件要處理vpn 要處理CDN, 有p2p的概念 有 07/03 17:59

tsunamimk2: 介接各種雲服務的api 07/03 17:59

tsunamimk2: 這是很多菜鳥工程師的特徵 想太少 覺得世界很單純 全 07/03 18:00

tsunamimk2: 世界都是笨蛋 07/03 18:00

tsunamimk2: 我用python加上flask上傳檔案五行就寫完了 為何要這 07/03 18:01

tsunamimk2: 麼肥大 07/03 18:01

tsunamimk2: 但事實上只是菜而已 這種我看了數十次了 07/03 18:02

zeyoshi: 主要還是有其他更佔空間的東西吧 07/03 18:02

a82611141: 確實 07/03 18:03

Daichiuri: 通篇廢話 07/03 18:03

k960608: 以前是輪子佔整體成本30% 那就會需要讓他改良 07/03 18:04

k960608: 現在這輪子根本佔不了什麼成本 特地浪費時間改這個幹嘛 07/03 18:04

Axarz631: 對 借來整個工具箱你只用到8號扳手 然後怪工具箱肥大 07/03 18:04

tsunamimk2: 就是因為懂太少了 … 07/03 18:05

Ron51320: 當小說寫碼字阿,寫越多別人看不懂就來問你了 07/03 18:05

milk830122: 怪工具箱太肥大這比喻不錯 難道運作不用帶工具箱嗎 07/03 18:07

milk830122: 遊戲會肥大占最重還是美術相關啦 高畫質影片 高解析材 07/03 18:08

milk830122: 質 圖片 3D模型等 07/03 18:08

shlee: 講白了就是獨立環境做久了沒有在一般公司行號跟別人合作專 07/03 18:08

shlee: 案才會有這種想法 07/03 18:08

ASUSboy: 這就是標準的半桶水,只懂自己的部分 07/03 18:09

shlee: 個人時間多 沒有專案時程跟團隊維護壓力 07/03 18:09

ASUSboy: 應該把他丟去別的部門看看 07/03 18:09

peterturtle: 第一天看技術債? www 07/03 18:10

notneme159: 薪水跟接手的人啊 07/03 18:10

linjrming: 通篇廢話,程式再臃腫也跟速度無關 07/03 18:10

hollen9: 自己實作輪子 完全無視scalability和maintainability 07/03 18:10

hollen9: 搞不好還會自己留下安全漏洞沒人知道 07/03 18:12

hollen9: 引入第三方日後發現還可以版本升級 07/03 18:12

Raptors1: 這才叫進步好嗎 那點容量又不值錢 07/03 18:12

lbowlbow: 你要反反組譯的話就得加一堆垃圾code進去啊 07/03 18:14

Jacob8888: 時間成本>>>人力、硬體 07/03 18:14

RINPE: 刪了出事誰負責 反正炸彈不要在我身上爆就好 07/03 18:14

Sacral: 我不敢刪 07/03 18:16

thibw13ug1: 所以這個大聲叫囂著要每個人自己造輪子才比較像沒寫過 07/03 18:16

thibw13ug1: 程式的人吧? 你這麼行你自己造一個輪子給大家用啊 就 07/03 18:16

thibw13ug1: 看看你的輪子最後能不能取代你看不爽的輪子阿? 07/03 18:16

breeze1108: 來臺灣輪班就會懂了 07/03 18:16

chuegou: 講得東西合理 我也是站在他這一派 但是我認為這只是開發 07/03 18:21

chuegou: 上的選擇而沒有孰是孰非 07/03 18:21

k798976869: 傻傻的 這樣才能創造軟體工程師的就業機會啊 07/03 18:21

k798976869: 系統太簡單 一堆人要失業了 還好軟體大神前輩們都有想 07/03 18:22

k798976869: 到 故意設計地很複雜 養活廣大工程師們 07/03 18:22

LeoYuri: 大家都馬附加上去,反正只要沒問題就好了,還是一直goto 07/03 18:22

LeoYuri: 一直爽 07/03 18:22

Clarkliu: 老闆:雇個門房吧 主管:買一個警衛公司好了 07/03 18:23

gamania0258: 確實 07/03 18:23

ikachann: 不要說遊戲公司,一些銀行或是政府的案子 code都又臭又 07/03 18:25

ikachann: 長 07/03 18:25

smart0eddie: 政府跟銀行更不敢亂動啊 07/03 18:29

chaosset: 不懂技術債的成本與可怕,跟從小地方做起,就會變以上推 07/03 18:29

chaosset: 文 07/03 18:29

alinwang: 敢說人家99%垃圾但自己做得出人家的1%嗎? 07/03 18:30

chaosset: 樓上通常做得到才敢大聲啦 07/03 18:31

zxcasd328: 給多少錢做多少事 07/03 18:32

xxxzxcvb: 低階都自己寫案子時間是要拉到多長 07/03 18:36

astrofluket6: 鍵盤程式設計師出動 07/03 18:39

Garyisdog: 這串釣出好多軟體工程師XD 07/03 18:40

sean5236921: 亂講! 07/03 18:43

streakray: 技術債台高築 07/03 18:43

s4511981: 硬體的發展導致程式設計師不受限制 07/03 18:46

alinwang: 大聲的通常是吹牛吧。 07/03 18:49

hinajian: 為何推文一堆人站在如何當個稱職社畜的角度在思考 而非 07/03 18:49

hinajian: 這樣是對是錯 07/03 18:49

renna038766: 幹真的 07/03 18:49

bnd0327: 以前不把模組分出獨立dll會被質疑是不是不會 07/03 18:50

bnd0327: 現在是DLL分出來被用質疑不懂底層,太苦了我 07/03 18:50

canis831025: 我可以兩秒加上去又不會出錯的事,我幹嘛多花時間改 07/03 18:53

canis831025: 好底層再去測試半天? 07/03 18:53

shbowm: 停在過去大概寫十年開發個小軟體的時代? 07/03 18:53

Haruna1998: 新手也不敢刪以前的 code 吧?沒事我去動它幹嘛 假如 07/03 18:55

Haruna1998: 這個功能突然客戶又要了勒? 07/03 18:55

a1e: 看運作裝置啦,現在pc上面記憶體和硬碟空間像不要錢似,你程 07/03 18:56

a1e: 式就算再肥能肥到1TB?幾百MB的程式,使用者都不在意了,因為 07/03 18:56

a1e: 現在1tb的硬體不到兩千塊,新電腦幾乎都是1tb硬碟了根本沒人 07/03 18:57

a1e: 在意那點空間了 07/03 18:57

swimbert: 如果每個程式都從底層開發,自然短小精悍。但開發週期長 07/03 18:58

swimbert: 幾倍,我們能擁有的應用就少了。硬體增強後用來增加應用 07/03 18:58

swimbert: ,這也合理 07/03 18:58

a1e: 你寫效能再好,但要花一星期,同樣功能套一堆組件不用一小時 07/03 18:58

a1e: 完成,是我也算後者,誰有那個時間和你計較那點不重要的空間 07/03 18:58

Axarz631: 不喜歡人家做好的量產車就閉門造車啊 成本時間自負就ok 07/03 18:59

a1e: 除非你的運作裝置只有不到100MB flash,這才要想辦法減法 07/03 19:00

pikachu2421: 原作者經歷查一下就有了吧 除了自己成立獨立開發以外 07/03 19:00

pikachu2421: 在三家遊戲公司工作過 其中兩家還算有名 一家是開發 07/03 19:00

pikachu2421: 過神鬼寓言(Fable)系列的Lionhead 另一家是開發Sims 07/03 19:00

pikachu2421: 系列的Maxis 從1997年開發遊戲至今 今年52歲 07/03 19:00

TimmyDD: Python vs C 07/03 19:03

clisan: 問題是時間啊,而且大量安全性的patch,重刻少上一個就變 07/03 19:04

clisan: 安全性問題要花多少時間去查去修 07/03 19:04

james1201: 技術債堆疊出來的巨獸 其實真的不少是垃圾 07/03 19:05

zizc06719: 管那麼多,現在功能寫得出來比較重要好嗎== 07/03 19:07

Koyomiiii: 可以用就不要動 壞了你要修?? 07/03 19:08

bobyhsu: 我好奇他是因為不會團隊溝通才變成獨立工作的== 07/03 19:12

bobyhsu: 大公司搶市場拼發售 外加工作人員流動率搞 誰給你時間慢 07/03 19:14

bobyhsu: 慢鑽研 多出來的上班時間你要幫老闆付嗎==? 07/03 19:14

Axarz631: 很多之所以累積成技術債是因為一開始不需做那麼大規模啊 07/03 19:15

Axarz631: 客戶要新功能當然從現有架構直接加上去 誰跟你每次都打 07/03 19:15

Axarz631: 掉重寫啊 久而久之累積成巨獸也是難免 只要不出bug就好 07/03 19:15

kphuang: 同意 07/03 19:16

Gankosakae: 想得美 你也要看看老闆會壓你的時間完成專案 還是會 07/03 19:16

Gankosakae: 跟客戶延期讓你慢慢刻底層 07/03 19:16

SilverFocus: 自己重造輪子或許比較快,但會爆胎 07/03 19:17

firingmoon: 所以更新修正你要出錢嗎.. 07/03 19:17

Getbackers: 一堆推文的都在大公司被磨的滑不溜手,看不起理想派 07/03 19:18

webermist: 講白了就是現在硬體成本太低 寫的好不好就沒人在乎了 07/03 19:19

ENCOREH33456: 他沒有經歷過flash開發時代吧 07/03 19:20

Mian1997: 沒什麼,因為現在寫程式的都是低能兒,搞一堆垃圾騙吃騙 07/03 19:20

Mian1997: 喝,就這樣而已。 07/03 19:20

vincent8914: IoC、微服務拼起來就是容易肥大 但造輪子有比較好? 07/03 19:20

sunshinecan: 跟技術債有點差別吧 可維護性跟精簡程度不必然有關 07/03 19:20

shlee: 理想需要時間實現 現實是專案跟客戶不會給你時間 07/03 19:21

ENCOREH33456: 而且他太小看資安了吧 07/03 19:21

shlee: 更別說還有團隊問題 07/03 19:21

WarIII: 確實 但省事 07/03 19:22

summer08818: 我是不覺得他砍掉99%能重建回來啦 一個商業軟體少說 07/03 19:22

summer08818: 數十甚至數百人在弄 中間一定有交接的部分 每個人cod 07/03 19:22

summer08818: ing style也不同 跟自己精心打造每個零件每個介面是 07/03 19:22

summer08818: 完全不同的管理方式 07/03 19:22

reaturn: 放心,客戶跟老闆會好好的「教育」你 07/03 19:23

rofellosx: ...會覺得垃圾根本二流吧 那垃圾不知省多少時間 07/03 19:23

summer08818: 我以前經理可以code review 完全不加新功能就跟你耗 07/03 19:24

summer08818: 一個月 案子多的時候他就被火了 現實就是你龜毛的點 07/03 19:24

summer08818: 很常不是客戶在乎的地方 07/03 19:24

rofellosx: 那些你覺得臃腫程式就是巨人的肩膀 07/03 19:25

fade11: 市場只需要五萬的工程師才是效率最大 07/03 19:25

sameber520: 前人做的瑞士刀就確實堪用啊 從頭打新刀你要學做刀耶 07/03 19:26

ricestand: 不能賺錢的才是垃圾 07/03 19:29

nakinight: 數碼寶貝 07/03 19:30

wz70403: 確實 07/03 19:31

gox1117: 你行你上 07/03 19:37

v2266514: 確實,但老闆願意給多少時間讓工程師重新造輪子? 07/03 19:39

thibw13ug1: 一堆人一看到用別人的輪子就說是技術債 覺得有問題你 07/03 19:39

thibw13ug1: 自己去重造一個更好的輪子給大家用阿? 07/03 19:39

thibw13ug1: 就這種底層的東西也被說成是技術債 到底是有什麼問題? 07/03 19:39

sunwit: 抄來抄去在改成自己想要的.裡面一堆不需要的也懶的刪 07/03 19:39

lucky0417: 笑死,獨立開發有遇過多部門引用嗎,是開公司不是你自 07/03 19:39

lucky0417: 己玩欸 07/03 19:39

Axarz631: 客戶的需求只要量產車就能搞定 你就不用自作聰明幫他搞 07/03 19:41

Axarz631: 手工車 他也不會因此感謝你 以後別人接手也不一定會修 07/03 19:41

v2266514: 那位遊戲開發工程師要不要自己打造一個遊戲引擎?畢竟拿 07/03 19:42

v2266514: 別人的來用也不是全部method都會用到吧 07/03 19:42

randy061: 無奈啊 07/03 19:45

jack0204: 微服務有其需求存在,但不適用在遊戲客戶端場景 07/03 19:46

pimday: 笑了 舉c++來說 你現在要用一個map, std就幫你做好了,你 07/03 19:50

pimday: 只需要其中幾個function ,難不成你還要花時間k一個只有你 07/03 19:50

pimday: 專用但效率根本打不贏std::map的東西出來嗎?老闆第一個叫 07/03 19:50

pimday: 你滾吧 07/03 19:50

randy061: 因為一堆文組轉寫程式? 07/03 19:51

yoyun10121: 商業產品就是講成本講效率的, 還在推給老闆不給錢給時 07/03 19:55

yoyun10121: 間做蠢事的, 怎麼不先考慮自己願不願意花一百倍的錢買 07/03 19:55

shlee: 跟文不文組哪有相關 自己獨立開發或自己寫爽的要 07/03 19:56

shlee: 這樣弄當然沒差 現實是公司跟客戶哪來的時間給你 07/03 19:56

shlee: 在那邊這樣玩 更別說大型專案是多人團隊合作 誰 07/03 19:56

shlee: 有那心力陪你 這樣弄只是變相的在搞自己人而已 07/03 19:56

yoyun10121: 功能一樣只有少吃一些空間的軟體 07/03 19:57

phix: 都美工檔案吧 07/03 19:59

davidliudmc: 多雲才會說文組寫程式的問題 去把文章看完再推文 07/03 20:00

kurtsgm: 幹話 07/03 20:03

garlic1234: 現在的路寬到可以開現成坦克車,在那邊說自組一台腳踏 07/03 20:05

garlic1234: 車多省空間多美好,別人很難體會吧 07/03 20:05

tv1239: 確實 但是其實跟遊戲沒什麼關係XDDD 07/03 20:06

tv1239: 不過這時代的問題是,反正電腦很快跑得動,隨便寫就好 07/03 20:07

jackie0804: 確實 07/03 20:08

tv1239: 這種問題超級常見的 加上時程壓下來 垃圾code就一堆 07/03 20:08

yoyun10121: 跟遊戲也不會沒關係啦, 遊戲開發就是時程成本壓最緊的 07/03 20:10

iscl6: 一堆智障不優化 只會加機器 怎麼解 07/03 20:10

hungayo: 計劃性汰舊 07/03 20:10

ceremonial: 大家都知道的事 可以自己又寫不出來 加減用 07/03 20:10

yoyun10121: 價格一超過60鎂, 馬上一堆人發飆 07/03 20:10

tim2241257: Unity包一個空的apk就12mb 問題是有多少公司敢棄用 07/03 20:10

tim2241257: 養人去做一個自己要的遊戲引擎 07/03 20:11

tv1239: 然後這引擎還要能輕鬆跨平台 07/03 20:11

Informatik: 有一個經測試很圓的輪子 你還要自己造一個不知道耐不 07/03 20:11

Informatik: 耐操的? 07/03 20:11

bh2142: 自己寫library裡有的功能才是浪費生命 07/03 20:11

yoyun10121: 不要說遊戲引擎了, 現在最賺的手遊很多就只換皮而已 07/03 20:12

bh2142: 自己刻輪子不是說自己刻好就好了欸,要維護要測試什麼都 07/03 20:13

bh2142: 要,我平常也喜歡自己造,但這個人根本不懂軟體工程? 07/03 20:13

yoyun10121: 花個十年寫新引擎, 拿個畫質效果落後十年的成品誰要買 07/03 20:13

tim2241257: 這也是為什麼這幾年雲端服務開始崛起 你拿顧機房人員 07/03 20:14

tim2241257: 不到一成薪水的錢 有專業公司幫你顧機房+資安 07/03 20:15

tim2241257: 為什麼還要自己建機房 07/03 20:15

tony20095: 你自己造了個輪子可以動,不代表直接改裝到其他車子上 07/03 20:16

tony20095: 都相容,人家肥大的輪子至少不會出錯 07/03 20:16

Axarz631: 遊戲現在也往雲端化趨勢 再怎麼笨重也影響用戶端不大了 07/03 20:16

Cyuhsuan: 確實 07/03 20:18

kurtsgm: 效能跟容量根本不是問題 自己造輪子寫底層的除了浪費生命 07/03 20:18

kurtsgm: 以外 最大的問題是你自己造的輪子沒有經過長時間的驗證跟 07/03 20:18

kurtsgm: 測試 比起有成千上萬的開發者在使用的lib 有誰敢說自己的 07/03 20:18

kurtsgm: 輪子更穩定更沒bug 07/03 20:18

Axarz631: 對 那些都是人類智慧的結晶 經過千錘百鍊不斷進化的= = 07/03 20:19

kurtsgm: 會說出這種幹話八成很難跟其他人合作或是很難在大公司生 07/03 20:23

kurtsgm: 存 難怪是獨立工作者 07/03 20:23

tim2241257: 我連他是不是獨立開發者都很懷疑了 獨立開發者做東西 07/03 20:24

tim2241257: 都沒時間了 還有空去嫌東嫌西? 07/03 20:24

crorangeazy: 確實 de 一個bug 跑十個出來 07/03 20:30

pikachu2421: 看他的獨立遊戲公司開發過12款遊戲了啊 07/03 20:31

orze04: 不要重新發明輪子aka 07/03 20:32

chihyu729: 節省開發時間更重要吧 07/03 20:33

yvonne13: 不同意的大概沒寫多久程式或是本身就是製造垃圾程式的= 07/03 20:33

yvonne13: = 07/03 20:33

orze04: 你全凝縮在一起,可用性和維護會更大災難 07/03 20:33

ianchen1223: 你行你上阿 07/03 20:36

orze04: 這傢伙有沒有跟其他人合作溝通過啊 07/03 20:38

Bencrie: 這種議題不意外地討論到最後就是互相鄙視而已 XD 07/03 20:39

orze04: 自幹自爽 維護和後續要擴充會恨死這種人 07/03 20:43

twinmick: 由儉入奢易,由奢入儉難 完畢。 07/03 20:44

Nixwell: 應該可以改編一個我寫程式原則就是引用到爆的梗 程式碼怎 07/03 20:44

Nixwell: 麼胖炸 我他媽怎麼知道 07/03 20:44

raphin: 硬體進步的必然趨勢吧 07/03 20:48

saiboos: 人類的結晶怎麼能說垃圾 07/03 20:53

jupei: 新人都會嘴程式很多垃圾怎樣 但常常改到掛點 07/03 20:54

jaeomes: 現在就拼速度 有寫好沒問題就直接拿來用 除非真的要開發 07/03 20:57

jaeomes: 完全新的 07/03 20:57

shintz: wow改那個底層16格包就不知道耗了多久 07/03 21:03

vencil: 開發的重點是賣產品賺錢,不是花很多時間在不能賺錢的地方 07/03 21:06

roy1100012: 很真實 07/03 21:08

ideal5566: 問題是你要確保接你工作的人是否有同樣的能力維護 07/03 21:15

w28103566: 之前就有人優化gta5開啟速度太慢,原來是跑了幾億次迴 07/03 21:24

w28103566: 圈,優化後被官方採用還給他獎金 07/03 21:24

rltc: 真的說到我心坎裡… 07/03 21:26

aegis123321: 這篇文就第一個例子比較差而已 有些人急著嘴人菜 二 07/03 21:30

aegis123321: 流 沒跟人合作過XD 作者就是自己刻引擎的geek啊 07/03 21:30

hollen9: 通篇舉例都是在講編譯後的大小 完全不是現今優化重點 07/03 21:35

hollen9: GTA5和傲嬌模擬器的經典負面教材 都是CPU GPU的負優化 07/03 21:35

hollen9: 和大小沒關 也是影響最大的 07/03 21:35

orze04: gta5那個是一個迴圈能搞定的事情用到雙層迴圈 07/03 21:35

orze04: 這已經不是軟體開發問題了 07/03 21:36

hollen9: 傲嬌模擬器component沒有precache, 很多高成本的都放在 07/03 21:37

hollen9: 每個tick (update() 去跑才會悲劇 07/03 21:37

hollen9: gta5不光迴圈 還有不懂得利用hashmap 而是大量if else 07/03 21:39

hollen9: 這些才是真正最糟糕的 編譯後去計較40mb 80mb意義不大 07/03 21:40

kurtsgm: GTA5應該不是用lib或是自己刻輪子的問題了 07/03 21:41

greg90326: 軟體業的鄙視鍊在這串表露無遺 07/03 21:42

kurtsgm: 又或者如樓上幾樓所說 是工程師本身coding能力的問題 如 07/03 21:42

kurtsgm: 果是這樣等級的工程師 那自己造輪子就更加悲劇 不如用lib 07/03 21:42

kurtsgm: 其實這年代早就不是自幹的年代了 如果有在看open source 07/03 21:43

greg90326: 我是覺得爛的工程師乖乖用別人的輪子沒問題 但是等老到 07/03 21:43

greg90326: 一定程度的時候 都該有個自己造超屌輪子的夢想 07/03 21:44

kurtsgm: 的一些熱門專案/framework/library 很多都是幾百甚至上千 07/03 21:44

kurtsgm: contributor 更不用講回報bug的user有多少 07/03 21:44

kurtsgm: 單人自幹就算你是天才也有極限 07/03 21:44

kurtsgm: 還是那句話 最重要的是你的輪子有多少人幫你驗證過 07/03 21:46

orze04: GTA那問題有點類似比較兩個物件陣列重複元素,暴力法O(n^ 07/03 21:49

orze04: 2),hashmap O(n).。 遊戲初始n還很小還覺得無所謂,到面 07/03 21:49

orze04: 後遊戲內容一多就爆炸了。 07/03 21:49

ffrank02tw: 買4個輪子,卻送來一整台車的概念。 07/03 21:50

greg90326: 對 這篇文章其實比較像是在講你只需要一顆輪胎 卻把車 07/03 21:53

greg90326: 商的所有車都買了的概念 07/03 21:53

ddIvan: 用套的快很多啊 誰那麼努力寫底層 07/03 22:03

dsfrf: https://i.imgur.com/mVwLyv8.jpeg 笑死,要不是別家手遊公 07/03 22:05

dsfrf: 司太爛我為啥要當米衛兵。 07/03 22:05

cn5566: 重點是在開發的效率 不是在執行的效率啊 這是商業行為 07/03 22:07

cn5566: 所以這年頭大家才盡可能地做開源 你想要改掉人家的legacy 07/03 22:08

cn5566: 你就clone下來自己改最快了 07/03 22:08

cn5566: 但實際上摩爾定律還活著 你花時間去改絕對不會有意義的 07/03 22:09

justice0926: 確實 一堆RD喊不懂底層 真的頗呵 寫出來就是一堆垃圾 07/03 22:11

justice0926: 然後系統慢怪作業系統 怪硬體 呵呵 07/03 22:12

donkilu: 不用dll要造輪子造到什麼時候 公司要release 07/03 22:15

orze04: 不用dll,功能全都自己刻,很精簡很好看沒錯啦 07/03 22:23

orze04: 開發時程慢,擴充和維護搞死人 07/03 22:24

kurtsgm: XD 不是啊 這篇留言有些論點不覺得很矛盾嗎? 「這些RD就 07/03 22:25

kurtsgm: 是爛,只會call人家寫好的lib,為啥不自己寫底層」 07/03 22:26

kurtsgm: 啊RD爛你還叫他自己刻輪子 不怕翻車? 07/03 22:26

kurtsgm: 框架/lib沒辦法提高code的上限 但可以很有效的提升下限 07/03 22:26

kurtsgm: 永遠有更聰明的人可以幹出比lib更好的輪子 但99%的RD自幹 07/03 22:28

kurtsgm: 出來的東西不會比人家弄好千錘百鍊的東西更穩定 07/03 22:28

kurtsgm: 你各位如果期望手上玩到的遊戲都是那1%的天才寫出來的 那 07/03 22:30

kurtsgm: 可能要多等一倍的時間加上多一倍的新台幣 07/03 22:31

kurtsgm: 相較之下我是不介意硬碟空間多個三倍五倍啦.... 07/03 22:31

blackstyles: 有差嗎 它也確實能動就好了 你看看python不就這樣壯 07/03 22:33

blackstyles: 大嗎 07/03 22:33

donkilu: Linux當初也是能動就樂勝GNU Mach 07/03 22:41

donkilu: 等到輪子造好 市場早就拱手讓人了 07/03 22:41

DongRaeGu: DLL不就模組化概念嗎 一個壞掉馬上就能知道問題在哪 07/03 23:17

louis791021: 真的 終於有人提出來 07/03 23:18

rkl: 大型軟體鄙視鏈現場 07/03 23:24

lacoste1113: 達人跟社畜的思考方式本來就不同 07/03 23:40

gary82gary: 容量又不是主要考量的點,穩定可運行最重要,運行效率 07/03 23:50

gary82gary: 其次,容量更是沒差。程式一直崩潰閃退;載入優化前花 07/03 23:50

gary82gary: 十分鐘但優化後可變一分鐘;容量上百G優化後變10G,自 07/03 23:50

gary82gary: 己想看看重要不就很清楚了 07/03 23:50

TobyH4cker: 確實coder氾濫卻沒什麼programmer 07/04 00:10

jack70134: 確實 但你能怎麼改變? 07/04 00:12

logic886: 只會說嘴,付錢優化啊 07/04 00:18

kr80188: 以前就是都在自幹才會程式一堆bug 又容易掛掉呀 07/04 00:29

adwn: 推 07/04 00:35

sses40713: 確實 07/04 00:47

hooll111: 大公司開發的產品系統架構要有彈性阿 通通寫死當然可以 07/04 01:29

hooll111: 很小但不易擴充阿 不過架構怎麼寫都是case by case啦沒 07/04 01:29

hooll111: 有一定 07/04 01:29

chenyuassa: 笑死 這是真的 07/04 01:41

tim5201314: 錢 屁話 07/04 02:06

nalthax: 正常啊,WINDOWS 的更新也是這樣 07/04 02:11

nalthax: 行政程序也差不多是類似的設計 07/04 02:14

lovingyou: 工程師花一堆時間精簡了程式碼會加薪嗎? 07/04 03:06

lovesao: 二八法則同樣適用 07/04 04:02

ageminis: 讓我想到 photoshop 早期用 HDD 跑到現在用 SSD 跑開啟 07/04 04:12

ageminis: 都一定要等快十秒 07/04 04:12

miha80425: 雀食 問題我是程式逃兵 現在逍遙自在 07/04 07:02

paimin: 為了快那不到半秒的時間重寫一個 到底是高效率還是低效率 07/04 07:08

sweetsmoke: 幹誰要寫底層,老人臭語言 07/04 07:32

gekisen: 我連dll都要看半天了還去寫lib 有人也還沒出來腦子要先溢 07/04 07:47

gekisen: 血了 07/04 07:47

leo125160909: 啊就拿多少錢辦多少事啊 07/04 09:03

jim924211: 現實中在一堆人輪流接手狀態下,重寫根本不可能 07/04 09:37

jim924211: 要花的心力遠大於效力,把問題推給用戶端讓他們用 07/04 09:37

jim924211: 自己的設備客服就好 07/04 09:37

kkboy: 因為這樣最省時 07/04 09:55

hh123yaya: 確實 但是調整成本過高 效益又很差 最後就是繼續放在那 07/04 10:05

hasroten: https://i.imgur.com/PorDHfw.jpg 07/04 10:09

Oville: 有函式庫了 除非很追求執行效率,還要自己造輪子嗎 07/04 10:44

zxcasdjason1: 這完全是菜鳥發言 07/04 10:47

zxcasdjason1: 遵循框架是為了統一開發語言降低溝通成本,功能與 07/04 10:52

zxcasdjason1: 安全是需求,別混為一談,而需求會決定採用什麼框 07/04 10:52

zxcasdjason1: 架來解決問題,獨立開發者我好棒,我能寫高效代碼 07/04 10:52

zxcasdjason1: 但別人看不懂的思維,才是一直重造輪子的原因 07/04 10:52

easych: 大家都會抱怨動態連結垃圾庫,就算放手也沒人願意改XD 07/04 11:35

notinservice: 確實 07/04 13:21

oyaji5566: 1開發時間,2測試問題 07/05 12:58

oyaji5566: 你用現成的庫既省時間而且測試人員也不用再重新驗證 07/05 13:00

您可能感興趣