當前位置:
首頁 > 時尚 > 欠債還錢,欠技術債,可能還得公司破產。。。

欠債還錢,欠技術債,可能還得公司破產。。。



欠下的


總該還






差評君最近想買個新電視。




這樣才能配得上我的 PS4 Pro 的 4K HDR 遊戲畫質。




但是我想了半年了。。。



為啥呢?




因為每個月,還了信用卡以後,就發現賺的錢不見了。。。





這種程度的債務帶來的痛苦,想必很多人都體會過,更別提那些貸款創業然後公司運營不善的老闆們了。。。




但是,你有沒有聽說過另一種形式的債,會讓程序員和科技公司抓狂。




這種債務,欠的不是錢,但是值不少錢。



它叫

技術債。





技術債的意思是就是做技術開發的時候欠下的債。




不過這麼解釋好像等於沒說。。。




差評君還是舉個例子吧。



假設差評君想要搬運一堆石頭,但是身為一個優雅的人,不願意徒手去干這活兒。

( 放在軟體開發里,往往是因為需求不適合人來做 )




於是叫了一幫開發弟兄們,來給我解決一下這個問題。




小黑胖覺得可以做個推車,大家也認同這個方案,於是就這麼定了。



( 靈魂畫手差評君的新系列 )




於是,世超做輪子,小黑胖做車身,小二做纖繩。




這個過程,和技術開發類似,大家分頭做一個個功能,然後組合。




差評君呢?




做老大的自然要在旁邊看著才叫老大嘛。。。



讓我們假設當時技術比較落後,沒有辦法生產比較圓的東西,或者說輪子在這之前都沒被發明過,大家也不知道該做成圓的還是方的,就用方的輪子了。





顛著顛著也還能用。。。




於是就這麼湊合著了。




例子里場景比較荒唐,但

在早期技術開發的時候,

確實有因為技術受限做不出完美方案的情況出現,只好給某個部分做妥協。

( 也有可能是設計的時候沒想到,或者是讓項目儘快完成 )




車子造好了,大家費了很大的勁,開始裝石頭進去。





拖著拖著,發現這輪子不光會顛,碰到軟的地面還會陷進去,總而言之用是能用,但是不好用。




這時候,負責開發輪子的世超拿著兩個圓形的東西跑過來,說找到更好的輪子了!



但是,裝上輪子需要停下手頭的活兒,並且還得拆裝小車,這些事兒都要費很多功夫,更何況萬一這新輪子的軸不搭還得重做呢。。。




在現實的技術開發中,這個所謂 「 換輪子 」 需要費的精力和金錢往往是很驚人的,因此很多時候會選擇妥協地用著不太完美的方案。





咱們決定繼續用方輪子的方案。




但速度不快的確是個問題,於是決定給小車做一次升級:給它安個推進器。




但這麼搞發現效果不太好,因為速度太快,方輪子磕地面會越發劇烈。




這個本來很棒的升級方案,因為之前的一次妥協,變得不太好了。




但好在能勉強解決,就是把推進器做成斜向上的,這樣小車就會稍微往上彈起,輪子變得不太容易磕地面了。





現實中,一個技術產品需要往後迭代,增加功能時,有時候會受老功能里不太完美的代碼的影響,為了解決它往往需要在做新功能時也妥協一部分。




然後,因為推進器的設計,又有新的問題出現了。




因為這麼移動時,需要稍稍的 「 蹦 」 起來一些,導致這個小車太晃了,於是咱又不得不給小車加個蓋子防止石頭掉出來。





這就不光是妥協的問題了,

我們甚至需要做一些工作,專門去維護因為妥協而造成的問題。




隨後,因為蓋子的問題,咱們得做扣子不讓蓋子亂跑,輪子老磕地面還容易壞,石頭晃來晃去也讓車子很不穩定,

總而言之問題越來越多,補都補不過來。




最後,咱們終於覺得換個輪子的重要性不可忽視了,但是

這時候再看看,拆了重做的工作量更多了。




以上,大概就是欠下技術債的樣子了。







為什麼要說它是債呢?




因為真的很形象:




一開始,我們用方形輪子這種糟糕的設計時,

就好像是欠下了一筆債。




而一旦小車運行起來以後,要還債就得付出停車和修改的代價,

這多付的地方就是利息了。。。




再然後,當我們想要升級的時候,因為方輪子的關係,花了額外的時間精力去解決推進器適配問題,還做了妥協,

這就好比是再欠一筆來填原來的利息。




因為推進器也做了妥協,產生出了新的問題,

利滾利了。。。




這時候終於忍不住想換輪子,想還債了,回頭看看,

發現債務和利息加起來變得非常恐怖。







在技術開發領域,這些利息可能是:




本來添加個

很簡單的新功能

,但是卻

花很大功夫來磨合

原有的項目。




一些怎麼都搞不定的錯誤,甚至得

專門花時間金錢來處理




而還債呢:




當一個項目在原有基礎上添了很多東西以後,

你要 「 還債 」 幾乎等於重做。




這就好比你造大樓,地基打歪了,你再想修的話得把上面的建築一起敲了再搞。





這個時候,你說還吧,太昂貴了。。。




你想想,現在程序員工資這麼高,工作內容卻是讓他們把原來的東西重新寫一遍,你說昂貴不昂貴?




不還呢,哪天利息滾到你想錘蛋自盡。。。





這種例子在各位熟悉的大型科技公司身上很常見。




比如說微軟,當年給他們的開發工具 Visual Studio 做了個網路服務 Visual Studio Online,但因為以前的系統設計失誤,讓他們這個新功能

宕機了 7 個小時。





Facebook 也有個技術債經歷。




了解開發的差友們可能知道,Facebook 是用 PHP 語言寫的。




他們當年就有這樣一筆寫在在 PHP 代碼里的技術債,滾到根本還不起了。




所以乾脆發明了一個虛擬機,叫 HHVM,因為他們最後發現

修復那個漏洞的成本還不如發明另一套新工具。。。





現在,你理解技術債有多麻煩了吧?




更麻煩的是,它有一點和貸款不一樣,就是

很多時候直到問題出現才能意識到自己欠了技術債

,比如說設計失誤。




但是這

不一定是個絕對要規避的東西

,有時候,

一個項目拖不到更好的方案時,需要貸這樣一筆技術債來加速一下進程

,儘快上線讓它運轉起來也是有必要的。




在知情的情況下,要不要欠技術債,欠下以後怎麼還,多久還,也是一個開發戰略,做技術開發絕對不是蒙頭寫代碼那麼簡單~




但是有一點是可以確定的,就是

欠債的人不會喜歡利息,而且還的時候肯定有些痛苦。




就和我每個月還信用卡一樣。。。






「 第二天別忘了上班哦 」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 差評 的精彩文章:

早點把我的大寶貝給女友看,就不至於單身到現在了!
該退燒了,共享經濟

TAG:差評 |