作者jille0725 (pei)
看板Soft_Job
标题Re: [转贴] 工程师应该放心大胆地创造技术负债
时间Mon Nov 13 15:48:25 2017
看标题以为是有什麽建设性的看法
点进去看都是在抱怨跟反讽
标题很不错所以解题发挥一下
谈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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1510559307.A.049.html
1F:推 nacoyow: 推一个~ 11/13 20:39
2F:推 willyann: 推无码胜有码 11/13 20:50
3F:推 ax61316: 学习了 11/13 21:27
4F:推 genius945: 推 11/13 23:03
5F:推 siriusu: 推 11/14 01:41
6F:推 bakedgrass: 认同 11/14 02:35
7F:推 atoom: 推 11/14 22:13
8F:→ atoom: 看过不少over engineering 的code 浪费时间又难理解 刚好 11/14 22:15
9F:→ atoom: 满重要的 11/14 22:15
10F:推 petingo: 写得很棒 11/14 22:44
11F:推 johnny4753: 推一个 trade off 11/14 23:09
12F:推 paul800526: 有道理 11/15 09:50
13F:推 aacs0130: 推 11/18 01:00
14F:推 Void956: 有道理 11/25 10:05
15F:推 abbag: 推 11/29 01:22