自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

熱力學(xué)第二定律和代碼維護(hù)

開發(fā) 開發(fā)工具
代碼雖然熵值高,架不住那么多的DevOps伺候著啊,所以系統(tǒng)從客戶角度看起來,還是很穩(wěn)定的。這個問題我就不展開了,各位看官,可以自己多腦補(bǔ)一下。

[[199141]]

1.物理學(xué)是一個非常有意思的學(xué)科。無論是經(jīng)典物理學(xué)還是現(xiàn)代物理學(xué),時間在絕大多數(shù)的定律里面是雙向的,不存在著一個唯一的方向。但是現(xiàn)實經(jīng)驗告訴我們時間只有一個方向,比如說我們可以看到瓶子破碎了,但是卻不能看到破碎的瓶子復(fù)原。

熱力學(xué)第二定律是一個特例,熱力學(xué)第二定律告訴我們一個孤立的系統(tǒng)的熵在不斷增加。通俗一點講,一個孤立系統(tǒng)會越來越混亂。

那么怎么樣才能夠讓系統(tǒng)穩(wěn)定呢?需要新的低熵的能量。這讓我聯(lián)想到了代碼開發(fā)。自從香農(nóng)的信息論出來以后,信息熵的概念也大行其道了。所以代碼開發(fā)這種純粹的信息系統(tǒng),其實也符合熱力學(xué)第二定律。

2.我在微軟工作的時候曾經(jīng)見過一個微軟的合伙人級別的領(lǐng)導(dǎo)。該領(lǐng)導(dǎo)是希臘人,年紀(jì)很大,有著看起來特別牛逼的簡歷。這個領(lǐng)導(dǎo)有一個特點,就是不管下面的人怎么苦苦哀求要做代碼重構(gòu),他問的***個問題總是,這個代碼重構(gòu)能帶來新的功能嗎?如果回答是否定的,直接槍斃掉。如果回答是肯定的,第二個問題是這些新功能非要代碼重構(gòu)嗎?回答否定的話繼續(xù)斃掉。如果回答肯定,接下來會問到底有多少的程序是給新功能服務(wù),有多少是在代碼重構(gòu)呢?這個時候如果你的選擇是老老實實的說,大部分的程序只是代碼重構(gòu)的話,基本上還是會被斃掉??偨Y(jié)來說只有新功能的投資,不愿意投資代碼重構(gòu)。

這位領(lǐng)導(dǎo)以能deliver聞名,去哪里都可以多快好省的deliver很多的東西。這個領(lǐng)導(dǎo)還有一個特點,從來不在一個坑上待超過三年的。他走以后,很多時候整個隊伍就被爛代碼給坑了。另外,這個領(lǐng)導(dǎo)有個物理學(xué)的博士的學(xué)位。所以每次想起他來,我都覺得這個人肯定很懂熱力學(xué)第二定律,并且知道怎么樣去使用熱力學(xué)第二定律。

3.比較慶幸的一點是,我本人從來沒有攤上過這樣的領(lǐng)導(dǎo)。如果我們遵循熱力學(xué)第二定律的話,一個封閉的不維護(hù)的系統(tǒng)肯定是會越來越混亂的。為了保持系統(tǒng)的混亂程度不至于太糟糕,以至于無法收拾的話,我們就必須持續(xù)投入足夠多的新的低熵的東西。這個在代碼開發(fā)上來講,就是我們得有人專門去給代碼重構(gòu),讓代碼保持有序。

縱觀整個IT行業(yè)里,對于熱力學(xué)第二定律掌握的***的恐怕是Google。這從Google從代碼寫的風(fēng)格到整個review的過程都可以看得出來。而且我們知道,Google這個公司從很小的時候就一直嚴(yán)格遵循這些原則了。很多人說,這樣做會妨礙創(chuàng)新,影響開發(fā)速度,那么為什么在Google里面這并沒有妨礙創(chuàng)新呢?

對熱力學(xué)第二定律掌握的很差的,但是公司依然很成功的是亞馬遜了。DevOps這種開發(fā)模式,讓開發(fā)人員24小時兼任救火隊員。我覺得這個是要對自己的系統(tǒng)的魯棒性多么的沒有信心才能做出來的決定啊。從某種程度上來講,亞馬遜的領(lǐng)導(dǎo)層對自己長期處于高熵狀態(tài)下運(yùn)行系統(tǒng)是很有自知之明的。有自知之明其實不是壞事。問題是,為了維系這個高熵系統(tǒng),亞馬遜總是需要犧牲一些人的利益的。這些人,當(dāng)然是在底層當(dāng)柴火一樣燒著的開發(fā)人員了。美其名曰有個名字叫做DevOps。

4.那么作為一個開發(fā)人員的你,應(yīng)該做出什么樣的選擇呢?是希望讓代碼長期處于高熵值狀態(tài),還是希望代碼時刻保持低熵呢?很多時候,這個問題其實不好回答。我想一個低熵值的代碼庫,如果偶爾需要增加熵值來完成一些商業(yè)上需要的東西,這并不難做到。一個高熵值的系統(tǒng),如果也同樣需要再擠進(jìn)去一些商業(yè)上需要的東西,后果是什么,就不可以預(yù)料了。

這些道理其實是很簡單的,我想沒有什么人不能理解。但是為什么在我們的IT行業(yè)里,有那么多的人依舊信奉永動機(jī)呢?又要馬兒跑又要馬兒不吃草的好事,只存在于夢里。但是我們的領(lǐng)導(dǎo)們很多時候的確是在追尋又要馬兒跑又要馬兒不吃草。而有些時候這種狀態(tài)又被冠冕堂皇的包裝在能夠deliver啊,或者DevOps的創(chuàng)新啊的光環(huán)下面。這樣一來,面子上看起來光鮮的東西,里子就未必了。

其實領(lǐng)導(dǎo)當(dāng)然沒有那么傻。但是沒有那么傻卻依然這樣做,大致來說有幾種情況。***種是學(xué)習(xí)路易十四的我死后哪管他洪水滔天的精神。第二種情況是其實是有新的低熵的東西被冠冕堂皇的弄進(jìn)來的。這就是那個24小時on call的你,你,還有你,這些DevOps們。代碼雖然熵值高,架不住那么多的DevOps伺候著啊,所以系統(tǒng)從客戶角度看起來,還是很穩(wěn)定的。這個問題我就不展開了,各位看官,可以自己多腦補(bǔ)一下。

【本文為51CTO專欄作者“徐飛”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號“飛總聊IT”獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2020-10-30 10:36:15

軟件系統(tǒng)熱力學(xué)

2024-09-03 15:00:00

黑洞研究

2024-04-29 13:06:00

模型數(shù)據(jù)

2023-01-14 15:08:43

模型論文

2013-08-20 10:26:34

加密安全

2023-12-05 12:46:22

2017-03-24 21:26:26

代碼架構(gòu)Java

2024-10-30 08:08:45

2013-11-29 13:29:35

2023-11-26 17:24:38

2010-12-10 13:54:05

2009-06-09 09:25:59

LinuxUbunchu

2024-10-28 09:42:48

2009-07-21 08:41:52

Linux內(nèi)核開源操作系統(tǒng)Intel

2022-04-14 07:57:52

Python代碼熱力圖

2013-06-07 14:00:23

代碼維護(hù)

2018-03-30 10:02:08

代碼規(guī)范維護(hù)工程師

2013-04-15 09:02:43

JavaScriptJS

2012-05-04 13:36:09

HTML5

2023-07-27 14:11:32

模型開源
點贊
收藏

51CTO技術(shù)棧公眾號