Re: [轉貼] 工程師應該放心大膽地創造技術負債

作者: jille0725 (pei)   2017-11-13 15:48:25
看標題以為是有什麼建設性的看法
點進去看都是在抱怨跟反諷
標題很不錯所以解題發揮一下
談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
作者: aacs0130 (湛靈)   2017-11-18 01:00:00
作者: nacoyow (夢遊上班族)   2017-11-13 20:39:00
推一個~
作者: willyann (咖啡偶)   2017-11-13 20:50:00
推無碼勝有碼
作者: ax61316   2017-11-13 21:27:00
學習了
作者: genius945 (添財)   2017-11-13 23:03:00
作者: siriusu (かがみは俺の嫁。)   2017-11-14 01:41:00
作者: bakedgrass (蒙古烤小草)   2017-11-14 02:35:00
認同
作者: atoom (atoom)   2017-11-14 22:13:00
推看過不少over engineering 的code 浪費時間又難理解 剛好滿重要的
作者: petingo (皮挺哥)   2017-11-14 22:44:00
寫得很棒
作者: johnny4753 (Li)   2017-11-14 23:09:00
推一個 trade off
作者: paul800526 (大蝌蚪)   2017-11-15 09:50:00
有道理
作者: Void956 (shitblack)   2017-11-25 10:05:00
有道理
作者: abbag (abbag)   2017-11-29 01:22:00

Links booklink

Contact Us: admin [ a t ] ucptt.com