我們?cè)谄綍r(shí)老是說(shuō)要消除技術(shù)債,那么這句話就有兩個(gè)問(wèn)題:
1)啥叫技術(shù)債
2)是不是一定要消除
先談第一個(gè)問(wèn)題什么是技術(shù)債褥琐。技術(shù)債首先是一個(gè)債務(wù)妆够,就像我們財(cái)務(wù)債務(wù)一樣,是向某個(gè)“對(duì)象”的借債迎膜。我們看看債務(wù)的定義:
“債務(wù)是指債權(quán)人向債務(wù)人提供資金泥技,以獲得利息及債務(wù)人承諾在未來(lái)某一約定日期償還這些資金和利息。債戶還債的義務(wù),有時(shí)也指所欠的債為了清償所有的債務(wù)而工作”磕仅。
從這個(gè)概念我們可以了解到珊豹,債務(wù)是有益處的簸呈,因?yàn)榭梢宰屛覀冊(cè)诙唐趦?nèi)獲取到額外的資源,有利于集中資源加快產(chǎn)品的上市店茶,所以這一定是一種有意識(shí)的決策蜕便。但是債務(wù)必須要償還,還要還本付息贩幻。
所以技術(shù)債一定是一個(gè)清醒的決策轿腺,是我們意識(shí)到我們有借債的意識(shí)的一種行為,比如產(chǎn)品是否清醒的決定要做更晚一些的重構(gòu)丛楚,或者做一些折中的設(shè)計(jì)族壳,或者減少一些非關(guān)鍵部分的構(gòu)建。
打個(gè)比方趣些,產(chǎn)品要11月份推向市場(chǎng)仿荆,時(shí)間只有一個(gè)月了,有一個(gè)非常重要的功能喧务,之前討論過(guò)完美方案赖歌,但是開(kāi)發(fā)期限要3個(gè)月,那么只能粗暴的采用一個(gè)折中的方案功茴,但是未來(lái)影響產(chǎn)品的可用性和可擴(kuò)展性庐冯。為了推出產(chǎn)品,領(lǐng)導(dǎo)決定不能失去市場(chǎng)機(jī)會(huì)坎穿,采用了折中方案展父,于是產(chǎn)生了借債行為。但是這個(gè)債務(wù)一定要還的玲昧,不然后續(xù)產(chǎn)品擴(kuò)展就成了問(wèn)題栖茉,甚至嚴(yán)重影響客戶體驗(yàn)。
我們過(guò)去常常把bugs當(dāng)做技術(shù)債孵延,但這個(gè)概念是錯(cuò)誤的吕漂,bugs不是技術(shù)債,它們只是bad code尘应!有些設(shè)計(jì)方案的“bugs”惶凝,才是技術(shù)債。
總結(jié)一下犬钢,我們不妨把我們的設(shè)計(jì)分為不好--剛夠好--完美苍鲜,技術(shù)債在某種意義上可以認(rèn)為是在剛夠好和完美之間的gap。
再談第二個(gè)問(wèn)題玷犹,技術(shù)債要不要消除混滔。我們知道,金融上的借債是一定要還的,“好借好還再借不難”坯屿,不然影響到你的信用油湖,后面要?dú)w還是要有龐大的利息的。
其實(shí)技術(shù)債也一樣领跛,如果技術(shù)債不還肺魁。那么將會(huì)導(dǎo)致可用性和可擴(kuò)展性問(wèn)題。我們知道問(wèn)題越早解決越好隔节,不然后續(xù)歸還的成本也會(huì)日積月累越來(lái)越高!
以上面例子為例寂呛,如果一直采用折中方案怎诫,那么后續(xù)產(chǎn)品擴(kuò)展性和可用性將會(huì)有嚴(yán)重問(wèn)題。是一定要還的贷痪。不然后續(xù)產(chǎn)品的演進(jìn)將是嚴(yán)重的問(wèn)題幻妓。
就像是沒(méi)有架構(gòu)的堆代碼,最終代碼堆是一定會(huì)坍塌的劫拢。
債務(wù)可以不立即還肉津,但是必須要計(jì)劃還的,而且在影響信用之前舱沧。
基于馬丁阿爾伯特先生的講座后妹沙,擴(kuò)展資料整理所得。