看板 Soft_Job 關於我們 聯絡資訊
看標題以為是有什麼建設性的看法 點進去看都是在抱怨跟反諷 標題很不錯所以解題發揮一下 談technical debt(以下簡稱TD)前 先來談談technical capitcal(簡稱TC) 什麼樣的code能算TC? well documented? highly reusable? good implementation? complete UT? 有太多維度了 最重要的是,能"持續"帶來"收益" 第一個問題,誰的收益? 你的?接手的學弟的?主管的?公司的?股東的?社群的? 第二個問題,持續多久? 下個project,這段code還能用嗎? 3年後接手的人,會需要重寫嗎? 10年後還能活在github嗎? 100年後,matrix裡會執行這段code嗎? 年輕的時候會想寫code報效社會 覺得透過打著鍵盤的手讓世界更好 工作幾年就體認到,自己不過是在生產電子垃圾 不是硬體才能叫電子垃圾,軟體也可以 這樣講可能太過了 重點是每行code都有保鮮期 碼農就是一種農夫 code屬於生鮮產品 時間久了就成為TD 好的code像iphone,3年換一隻 壞的code像...半年換一隻 不是每個人都買iphone,對吧? 如果說把code寫好是一個境界 第二個境界就是把code寫的"剛好" (第三個境界可能是無碼勝有碼,但我還沒體會到) 回到標題,為什麼鼓勵工程師創造TD 簡單的回答,世界上不存在TC 但絕不是要你寫爛code 是要學會在正確的地方擺爛 設計的意思是不是把所有規格拉到最高 事實上也不存在完美的產品 設計的意義是取捨 在有限的資源做出最佳化的選擇 也是為什麼programming is art -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.18.41 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1510559307.A.049.html
nacoyow: 推一個~ 11/13 20:39
willyann: 推無碼勝有碼 11/13 20:50
ax61316: 學習了 11/13 21:27
genius945: 推 11/13 23:03
siriusu: 推 11/14 01:41
bakedgrass: 認同 11/14 02:35
atoom: 推 11/14 22:13
atoom: 看過不少over engineering 的code 浪費時間又難理解 剛好 11/14 22:15
atoom: 滿重要的 11/14 22:15
petingo: 寫得很棒 11/14 22:44
johnny4753: 推一個 trade off 11/14 23:09
paul800526: 有道理 11/15 09:50
aacs0130: 推 11/18 01:00
Void956: 有道理 11/25 10:05
abbag: 推 11/29 01:22