无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

研發天天加班,但總是忙不過來,為什么這樣,有解嗎?

Jeff Tao

2024-12-16 /

濤(tao)思數據創(chuang)業初(chu)期,只有(you)幾個(ge)人(ren),人(ren)人(ren)都是十倍程序員。但7年(nian)之(zhi)后,隨著組織的(de)龐大以及(ji)代(dai)碼的(de)增多,研(yan)(yan)發(fa)效率大為(wei)下降(jiang),為(wei)此我(wo)(wo)痛下決心,在今年(nian)十月(yue)份(fen)重組了公司(si)最(zui)重要(yao)的(de)資產(chan),研(yan)(yan)發(fa)部(bu)門。重組后,為(wei)提升研(yan)(yan)發(fa)效率和(he)產(chan)品質量,我(wo)(wo)強調一(yi)個(ge)原則:一(yi)切都要(yao)代(dai)碼化。今天我(wo)(wo)將公司(si)的(de)一(yi)篇(pian)內(nei)部(bu)博客分享出來,供廣(guang)大的(de)研(yan)(yan)發(fa)同(tong)學(xue)、研(yan)(yan)發(fa)管(guan)理人(ren)員參考。

公(gong)司為(wei)(wei)(wei)提(ti)(ti)(ti)升(sheng)(sheng)研(yan)發(fa)(fa)效率,提(ti)(ti)(ti)升(sheng)(sheng)產(chan)(chan)品質量(liang),將(jiang)整個研(yan)發(fa)(fa)部門進行(xing)了重組(zu),并將(jiang)以前的(de)測試部門轉為(wei)(wei)(wei)研(yan)發(fa)(fa)平臺部,這背后的(de)邏輯是什(shen)么(me)呢?我在會上介紹(shao)過(guo)緣由(you),但(dan)其(qi)中一條就是堅決貫徹執行(xing)“一切(qie)都(dou)要(yao)(yao)代碼化”。我想給大家多解釋(shi)一下,為(wei)(wei)(wei)什(shen)么(me)要(yao)(yao)這么(me)做?為(wei)(wei)(wei)什(shen)么(me)它能提(ti)(ti)(ti)升(sheng)(sheng)研(yan)發(fa)(fa)效率,進而(er)提(ti)(ti)(ti)升(sheng)(sheng)產(chan)(chan)品質量(liang)呢?

研發效率低下的幾大典型場景

軟件開發,在(zai)人(ren)(ren)員規(gui)模就幾個(ge)人(ren)(ren)的時候,人(ren)(ren)效(xiao)往往很高。但隨著項目本身(shen)的復雜度的增加,要處理的場景越(yue)來越(yue)多,代(dai)(dai)碼(ma)(ma)量也(ye)越(yue)來越(yue)大。比如TDengine,第一(yi)個(ge)版本不到15萬(wan)行代(dai)(dai)碼(ma)(ma),但現在(zai)已(yi)經是超(chao)過70萬(wan)行代(dai)(dai)碼(ma)(ma),測試代(dai)(dai)碼(ma)(ma)都接近一(yi)百(bai)萬(wan)行了(le)。到今天,TDengine這個(ge)軟件已(yi)經不是幾個(ge)人(ren)(ren)能搞定了(le)。隨著團(tuan)(tuan)隊規(gui)模的增加,協同溝通(tong)的成本急劇上(shang)升(sheng)。而(er)且為(wei)保證品質,團(tuan)(tuan)隊引入了(le)各種(zhong)質量控(kong)制的流程,整(zheng)個(ge)研(yan)發節奏慢了(le)下(xia)來,人(ren)(ren)效(xiao)大為(wei)下(xia)降。具體可以表現在(zai)幾個(ge)場景:

1. 研(yan)發(fa)(fa)在客(ke)戶(hu)現場解決了一(yi)個BUG,改了幾行代碼(ma),客(ke)戶(hu)急著(zhu)上線,但研(yan)發(fa)(fa)因(yin)為(wei)各種環境依賴,無(wu)法在自己筆記本上Build一(yi)個新的可以交付(fu)的版本,只能遞交PR,等著(zhu)發(fa)(fa)版負(fu)責人發(fa)(fa)版,然后下載安(an)裝。一(yi)般情況下,這一(yi)操作需(xu)要等待幾個小時,在現場支持的人只能干(gan)著(zhu)急。

2. 一位新入職的研發同學,至少要花上好幾天(tian)時間(jian)才(cai)能自己獨立的寫程序(xu)、編譯(yi)、測試(shi),中間(jian)還需要不斷的“騷擾”其他同事,問這問那。如果(guo)沒有人協助,估計一周(zhou)都(dou)搞不定。因此新人入職,我們美其名(ming)曰“熟悉(xi)環境”。

3. 公司建有(you)CI/CD系統,看上去很不錯(cuo),但所有(you)人遞(di)(di)交(jiao)的PR都需要(yao)(yao)過一(yi)遍整(zheng)個(ge)(ge)流程(cheng),特別(bie)是測試流程(cheng)。TDengine整(zheng)個(ge)(ge)測試例已經超過1500個(ge)(ge),跑完都要(yao)(yao)2個(ge)(ge)多小時(shi),這樣(yang)導致一(yi)個(ge)(ge)PR的遞(di)(di)交(jiao),要(yao)(yao)等很長時(shi)間。如(ru)果遞(di)(di)交(jiao)的PR有(you)問(wen)題,還需要(yao)(yao)再遞(di)(di)交(jiao),因(yin)此讓(rang)新(xin)代碼(ma)的遞(di)(di)交(jiao)效率大大降低(di)。

4. 整個(ge)公司沒有(you)(you)人能(neng)說(shuo)出來到底(di)有(you)(you)哪些場景的(de)測(ce)(ce)試例(li)(li)在(zai)跑,雖(sui)然(ran)有(you)(you)測(ce)(ce)試設計文檔,列出了(le)哪些測(ce)(ce)試例(li)(li),但實(shi)際跑的(de)與(yu)文檔上差別太大。而(er)且很多情況下,測(ce)(ce)試例(li)(li)各(ge)寫各(ge)的(de),雖(sui)然(ran)測(ce)(ce)試例(li)(li)的(de)數量在(zai)不(bu)斷增(zeng)長,但測(ce)(ce)試有(you)(you)重疊,覆蓋率依然(ran)不(bu)夠。

5. 要測試某個用(yong)戶(hu)場景,無論(lun)是研發(fa),還(huan)是售(shou)前、交付(fu),第一件(jian)事(shi)情就是申請計算資源(yuan)。雖然我們已經(jing)有(you)2600多個核的測試機(ji)房,但這些機(ji)器(qi)都(dou)被人(ren)為的分配給了不同的組和個人(ren)。因此要協調出新的資源(yuan),挺困難,不是鼠標點(dian)擊一下就能解決的,往往就要開(kai)會協調,幾個人(ren)的一個小時就這樣過去了。

上(shang)面描寫的(de)五個(ge)場景在TDengine全部存(cun)在。整(zheng)體來講,我(wo)們(men)研(yan)發效(xiao)率是低下的(de)。如果(guo)從我(wo)們(men)對BUG修(xiu)復的(de)時長以及數目來看,與傳(chuan)統(tong)的(de)大公司(si)的(de)研(yan)發相比(bi),效(xiao)率已經高不了多少,但(dan)與我(wo)們(men)創業初期相比(bi),1/3都沒有(you)。由于效(xiao)率低下,導致我(wo)們(men)的(de)投入不夠,也就(jiu)導致產品的(de)質量難以保證(zheng)。

效率低下的根本原因

隨著團隊規(gui)模的增大(da),為(wei)什么協(xie)同溝通成本就急劇增加(jia)?研發效率就大(da)幅下(xia)降呢?仔細分析(xi),有幾(ji)點原因(yin):

1. 好些工作都難重復,都藏在個人的腦子里。比(bi)如開發(fa)環境的依賴,都(dou)是各(ge)搞各(ge)的。每(mei)個(ge)人都(dou)要下(xia)載(zai)各(ge)種軟件包(bao)、各(ge)種工具,讀(du)一(yi)大堆(dui)文檔,按自己的理解做各(ge)種配(pei)置(zhi),最后(hou)工作,當然(ran)很開心(xin)。另外一(yi)個(ge)人,又(you)是要走同樣(yang)的路,手腳快的,也(ye)許(xu)幾個(ge)小時(shi)搞定(ding),但碰上手腳慢的,一(yi)天都(dou)搞不(bu)定(ding),卡在什么(me)地(di)方(fang),還沒人能幫。

2. 不重視工具、工作流管理的代碼,沒把他們納入代碼的版本管理。比(bi)如發(fa)版(ban)工作(zuo),本(ben)來應(ying)該是全(quan)自動化,而(er)且(qie)也(ye)確(que)實做(zuo)(zuo)到了。但一(yi)旦發(fa)版(ban)的(de)工作(zuo)流做(zuo)(zuo)些修改,CI/CD又卡在一(yi)個人(ren)手(shou)里,取決于這個人(ren)的(de)水平高低,有(you)(you)可(ke)能(neng)很(hen)快(kuai),也(ye)有(you)(you)可(ke)能(neng)很(hen)慢。但總之,即使水平低,你(ni)也(ye)沒(mei)辦(ban)法(fa),因為其他人(ren)沒(mei)法(fa)上手(shou)馬上讓它工作(zuo),而(er)且(qie)相當多程序(xu)員往(wang)往(wang)不(bu)屑于寫(xie)這類程序(xu)。因此讓CI/CD跑起來,只有(you)(you)這位(wei)“牛人(ren)”能(neng)做(zuo)(zuo)。

3. 文檔與代碼脫節。比(bi)如我們TDengine測試代碼(ma),就與Testing Spec脫節。Testing Spec往(wang)往(wang)是過期的(de),初稿review之后再也(ye)不(bu)會(hui)有人改(gai)。新增、修改(gai)的(de)測試例在文(wen)檔(dang)里是反(fan)映不(bu)出來的(de)。

4. 對用戶手冊重視程度不足。雖然(ran) TDengine 的用(yong)(yong)戶(hu)(hu)(hu)(hu)手(shou)(shou)(shou)冊已經遠(yuan)(yuan)遠(yuan)(yuan)好于(yu)中國絕(jue)大(da)部分技術公司,但與全球頂尖的軟件公司比(bi),還有不(bu)小(xiao)的差距。用(yong)(yong)戶(hu)(hu)(hu)(hu)手(shou)(shou)(shou)冊由于(yu)本身的性質,導(dao)致(zhi)它(ta)很容易落(luo)后于(yu)代碼的更新。而且研發(fa)同(tong)(tong)學普遍的共識是,寫用(yong)(yong)戶(hu)(hu)(hu)(hu)手(shou)(shou)(shou)冊不(bu)是研發(fa)工(gong)作(zuo),無(wu)法體現自(zi)己(ji)研發(fa)水(shui)平(ping),因此投入(ru)不(bu)夠。在這種情況下(xia),售前、交(jiao)付、還有用(yong)(yong)戶(hu)(hu)(hu)(hu)的問題,都只(zhi)能(neng)依賴(lai)我們(men)產品(pin)的“專家”來(lai)親自(zi)回答,而且有時(shi)自(zi)己(ji)都拿捏不(bu)準,還要問周(zhou)圍同(tong)(tong)事(shi)大(da)半天(tian),才(cai)能(neng)給用(yong)(yong)戶(hu)(hu)(hu)(hu)一個精準的回答。而且因為他能(neng)回答客戶(hu)(hu)(hu)(hu)產品(pin)問題,理所當然(ran),還會被大(da)家認為是高手(shou)(shou)(shou)。

5. 公司(si)計算、網絡資源的管(guan)(guan)理還(huan)是原(yuan)始(shi)時代,完全是靠Excel表格(ge)人工在管(guan)(guan)理。

一切都需要代碼化

全球軟件開發(fa)行(xing)業發(fa)展(zhan)到今天,早有(you)了(le)成熟(shu)的(de)方法應對這(zhe)(zhe)些(xie)效(xiao)(xiao)率低(di)下、產品(pin)質(zhi)量難以(yi)保證的(de)場景(jing)(jing),那就是一(yi)切(qie)都要代碼化。因此(ci)我們(men)會經常聽到Infrastructure as code, Environment as code, Pipeline as code, Documentation as code, Security as code, Network as code這(zhe)(zhe)些(xie)詞。這(zhe)(zhe)些(xie)詞是”as code movement” 在一(yi)些(xie)具(ju)體(ti)場景(jing)(jing)的(de)體(ti)現(xian)。代碼化的(de)核心目的(de)是讓一(yi)切(qie)可自動化、可重復、可回(hui)溯,每個研發(fa)不用做低(di)水平的(de)重復性(xing)的(de)工作,從而提升研發(fa)效(xiao)(xiao)率,進而有(you)更多資源投入來(lai)提升產品(pin)的(de)質(zhi)量。針(zhen)對TDengine,我們(men)可以(yi)明顯看(kan)到需(xu)要做或(huo)改進的(de)地(di)方有(you):

1. Environment as code:即開發(fa)環(huan)境、測試(shi)環(huan)境的(de)(de)(de)(de)自動化(hua)部署。我們不(bu)能依賴某個(ge)(ge)人腦(nao)子的(de)(de)(de)(de)記憶或經驗(yan),依賴研發(fa)同(tong)(tong)學快速閱讀(du)第三方工具(ju)用戶(hu)手冊、試(shi)錯(cuo)的(de)(de)(de)(de)能力(li),而(er)是(shi)要將這些經驗(yan)、能力(li)固化(hua)成(cheng)為代(dai)碼。一(yi)(yi)個(ge)(ge)人趟過所有的(de)(de)(de)(de)坑后,通(tong)過代(dai)碼讓其他(ta)(ta)(ta)同(tong)(tong)事都能享受(shou)他(ta)(ta)(ta)工作的(de)(de)(de)(de)結果,一(yi)(yi)鍵就能把(ba)自己的(de)(de)(de)(de)環(huan)境設置好,根本(ben)不(bu)用去了解Maven怎么安(an)裝,MQTT數據源怎么設置等等,而(er)且其他(ta)(ta)(ta)同(tong)(tong)學可以在他(ta)(ta)(ta)代(dai)碼基礎上做調(diao)整。

2. Pipeline as code:CI/CD的(de)(de)(de)workflow代(dai)(dai)碼化(hua)。我(wo)們早已代(dai)(dai)碼化(hua),但要(yao)把這些(xie)代(dai)(dai)碼納入(ru)到(dao)正(zheng)常的(de)(de)(de)版本管理,任(ren)何(he)人(ren)都(dou)可以(yi)在現有的(de)(de)(de)代(dai)(dai)碼基礎上修改、優化(hua),增加(jia)新的(de)(de)(de)步驟等。而(er)且要(yao)保(bao)證我(wo)們的(de)(de)(de)代(dai)(dai)碼不(bu)能有任(ren)何(he)環境(jing)的(de)(de)(de)依(yi)賴(lai),比如(ru)某臺具體的(de)(de)(de)測試機器,這樣任(ren)何(he)人(ren)Clone完(wan)代(dai)(dai)碼后,自(zi)己一下就能把workflow搭(da)建(jian)出(chu)來。同時,整個(ge)workflow包含的(de)(de)(de)內容(rong)要(yao)越(yue)來越(yue)多。我(wo)們已經增加(jia)了Release Notes,測試覆蓋率(lv)報告、性能測試報告自(zi)動(dong)生成。今后我(wo)們還要(yao)看哪些(xie)內容(rong)可以(yi)自(zi)動(dong)生成,哪些(xie)檢查工具可以(yi)加(jia)上。

3. Documentation as code:文檔代碼化(hua)。除用戶(hu)(hu)手冊之外,最重要(yao)的(de)是(shi)(shi)測(ce)(ce)試(shi)例(li)的(de)列(lie)表(biao)。我(wo)們(men)需要(yao)從(cong)測(ce)(ce)試(shi)例(li)腳本(ben)(ben)本(ben)(ben)身自動(dong)生(sheng)成(cheng)測(ce)(ce)試(shi)例(li)列(lie)表(biao),而且自動(dong)分(fen)類。這樣(yang)讓(rang)任何人,包括售前、交付的(de)同學,一(yi)看就知道到底測(ce)(ce)試(shi)過哪些場景(jing),針對某個具體客戶(hu)(hu),是(shi)(shi)否需要(yao)新(xin)增場景(jing)。用戶(hu)(hu)手冊我(wo)們(men)已經(jing)代碼化(hua),但(dan)做的(de)還不夠(gou)好,因此(ci)我(wo)們(men)現在對于一(yi)個新(xin)的(de)功能或BUG,研發負責人有(you)項專門的(de)工作(zuo),就是(shi)(shi)合并PR時(shi),檢(jian)查用戶(hu)(hu)手冊是(shi)(shi)否有(you)更新(xin)。

4. Benchmark as code:對比(bi)測試(shi)代碼(ma)化。TDengine與(yu)其(qi)他時序數(shu)據庫相(xiang)比(bi),有卓越的(de)性能(neng)。但每(mei)個版本我(wo)們都要做對比(bi)測試(shi),而且要不(bu)斷(duan)增加與(yu)其(qi)他競品(pin)的(de)對比(bi)。我(wo)們已(yi)經部分實現,但還不(bu)夠徹底,有一定的(de)環境依賴(lai)。

5. Infrastructure as code:即計算資源的(de)分(fen)配要自(zi)動(dong)化(hua)(hua)。把我(wo)們內部的(de)服務(wu)器(qi)資源的(de)管(guan)理完全虛(xu)擬化(hua)(hua)、腳本化(hua)(hua),對于閑置的(de)資源自(zi)動(dong)釋放。自(zi)動(dong)化(hua)(hua)后,我(wo)們一家100人的(de)公司,測試(shi)機房有2600多(duo)個核,根本不會存在測試(shi)資源不夠的(de)時候。要新的(de)計算資源,幾秒鐘搞定(ding)。

對于(yu)研發團(tuan)(tuan)隊(dui),現在我能(neng)(neng)(neng)看到無法完全代(dai)碼(ma)(ma)(ma)化的(de)(de)工作(zuo)是(shi)(shi)產品設計(ji)(ji)文(wen)檔,有(you)一(yi)(yi)些工具可以(yi)(yi)(yi)幫(bang)助大(da)(da)(da)家,但(dan)難以(yi)(yi)(yi)100%代(dai)碼(ma)(ma)(ma)化。拋開設計(ji)(ji)文(wen)檔,其(qi)他所(suo)有(you)工作(zuo)都(dou)(dou)(dou)是(shi)(shi)可以(yi)(yi)(yi),而(er)且必須代(dai)碼(ma)(ma)(ma)化的(de)(de)。代(dai)碼(ma)(ma)(ma)化后,個人的(de)(de)經(jing)驗、能(neng)(neng)(neng)力就轉(zhuan)化為(wei)團(tuan)(tuan)隊(dui)的(de)(de)經(jing)驗和能(neng)(neng)(neng)力,溝通交流(liu)成(cheng)本(ben)大(da)(da)(da)幅下降,一(yi)(yi)切都(dou)(dou)(dou)是(shi)(shi)代(dai)碼(ma)(ma)(ma)說話。這也是(shi)(shi)我們為(wei)什么要對整個研發團(tuan)(tuan)隊(dui)統計(ji)(ji)代(dai)碼(ma)(ma)(ma)量的(de)(de)原因。代(dai)碼(ma)(ma)(ma)量不是(shi)(shi)絕(jue)對,更不是(shi)(shi)唯一(yi)(yi)指標,代(dai)碼(ma)(ma)(ma)量大(da)(da)(da)的(de)(de)同(tong)學(xue),工作(zuo)不一(yi)(yi)定出色(se),但(dan)代(dai)碼(ma)(ma)(ma)量一(yi)(yi)直(zhi)很低的(de)(de)同(tong)學(xue),工作(zuo)是(shi)(shi)一(yi)(yi)定有(you)問(wen)題的(de)(de)。在我們過(guo)去,有(you)的(de)(de)同(tong)學(xue)一(yi)(yi)個月都(dou)(dou)(dou)沒有(you)遞(di)交過(guo)一(yi)(yi)次(ci)代(dai)碼(ma)(ma)(ma),這種情況再也不能(neng)(neng)(neng)發生(sheng)。

一切代碼化后的效果

一切(qie)代碼(ma)化(hua)后,很多工(gong)作改變了,我(wo)們可以(yi)明顯(xian)的看到如(ru)下(xia)的結果:

1. 任何(he)人在自己不(bu)聯(lian)網的(de)計算機上都可(ke)以打包(bao)、發(fa)布版(ban)(ban)本(ben)。如果在客戶現場發(fa)現BUG并解(jie)決了它,可(ke)以馬(ma)上給它安(an)裝上自己的(de)版(ban)(ban)本(ben),而不(bu)會有任何(he)不(bu)兼容的(de)事情發(fa)生。

2. 任何人在自(zi)己計算機上(shang),都可以跑測(ce)試(shi)(shi),包括全量測(ce)試(shi)(shi)、穩定性測(ce)試(shi)(shi)、性能測(ce)試(shi)(shi)、性能對比測(ce)試(shi)(shi)、檢查測(ce)試(shi)(shi)覆蓋率等,而且不依賴(lai)公司(si)的(de)測(ce)試(shi)(shi)資源。因(yin)此(ci)完成一項(xiang)功(gong)能或(huo)解決一個BUG,自(zi)己就(jiu)可以全部跑一次,以避免(mian)遞(di)交(jiao)PR時無法遞(di)交(jiao)。

3. 性能優化的同學,可以一鍵先在自(zi)己計算機上跑(pao)性能測試,看(kan)性能是否確實提升了沒有,而不是直接遞交到(dao)測試平臺,等待結果之后(hou)再看(kan)。

4. 新加入(ru)的(de)同事,根本不需要熟(shu)悉環境,幾個小(xiao)時,就可(ke)以(yi)配(pei)置好開發環境,Clone代碼,編譯(yi)、運行、測試起(qi)來。手快的(de),就可(ke)以(yi)馬上開始debug了。

5. 客戶、售前、交付(fu)同學關于(yu)產品的問題,研發同學一(yi)律是(shi)(shi)把用(yong)戶手冊的截圖(tu)或(huo)鏈接(jie)發給對方(fang)。如果無(wu)法做(zuo)到,馬上去修改文檔,遞交PR。這(zhe)樣我們(men)每個人都不用(yong)腦子里(li)記住或(huo)記錄(lu)一(yi)些(xie)產品如何避坑的小技巧了。我們(men)留給客戶的印象就是(shi)(shi)專業(ye),產品沒有瑕疵(ci),出錯全怪我自己,是(shi)(shi)由于(yu)自己沒細看文檔。

6. 任何人,包括非研發團隊的(de)同學,可以清(qing)晰(xi)的(de)看到(dao)每(mei)個發布的(de)版(ban)本,進行(xing)了哪些具體測試(shi)(shi),發布的(de)版(ban)本是否有任何報(bao)錯(cuo)或報(bao)警(jing)。針(zhen)對(dui)自(zi)己客戶的(de)場(chang)景(jing),馬(ma)上就知道還需要補充哪些測試(shi)(shi)用(yong)例,才能確保產品上線(xian)沒有問題。

7. 需要(yao)計算資(zi)源的同學,只(zhi)要(yao)登錄(lu)內部網站(zhan)鼠標點擊幾下,想(xiang)要(yao)的硬件資(zi)源、配置的軟件環(huan)境就馬上準備好(hao)了(le)。

8. 在我(wo)(wo)(wo)詢問研發(fa)(fa)平臺(tai)組同(tong)學(xue)(xue)的工(gong)作時,如果問負責發(fa)(fa)版(ban)的同(tong)學(xue)(xue),他(ta)的回(hui)答(da)是(shi)(shi)(shi)“Jeff,我(wo)(wo)(wo)這周(zhou)又把發(fa)(fa)版(ban)流程優化、調整(zheng)了(le)(le)(le)一下,加了(le)(le)(le)更(geng)多的檢查(cha),來保證產品質量(liang)”,而(er)不(bu)是(shi)(shi)(shi)“我(wo)(wo)(wo)這周(zhou)忙死了(le)(le)(le),發(fa)(fa)了(le)(le)(le)幾(ji)個(ge)什么版(ban)本(ben)”。如果問穩定性(xing)測(ce)試(shi)的同(tong)學(xue)(xue),他(ta)的回(hui)答(da)是(shi)(shi)(shi)“Jeff,這周(zhou)我(wo)(wo)(wo)又新(xin)增(zeng)了(le)(le)(le)幾(ji)個(ge)破(po)壞(huai)性(xing)的測(ce)試(shi)場(chang)景”,而(er)不(bu)是(shi)(shi)(shi)“我(wo)(wo)(wo)這周(zhou)發(fa)(fa)現了(le)(le)(le)2個(ge)BUG”。問性(xing)能測(ce)試(shi)的同(tong)學(xue)(xue),他(ta)的回(hui)答(da)是(shi)(shi)(shi)“Jeff,這周(zhou)我(wo)(wo)(wo)新(xin)增(zeng)了(le)(le)(le)幾(ji)個(ge)查(cha)詢場(chang)景的性(xing)能測(ce)試(shi)”,而(er)不(bu)是(shi)(shi)(shi)“我(wo)(wo)(wo)這周(zhou)完成了(le)(le)(le)性(xing)能對(dui)比(bi)測(ce)試(shi)”。

一切代碼化還可以讓新人(ren)迅速(su)進入(ru)角色(se),而(er)不是受制(zhi)于需(xu)要(yao)長時間溝通才(cai)能獲取的(de)(de)信(xin)息。每(mei)個(ge)人(ren)需(xu)要(yao)依靠自己的(de)(de)能力,而(er)不是掌(zhang)控(kong)的(de)(de)信(xin)息或(huo)資源(yuan),來成為研發高(gao)手。

結語

一切代碼(ma)化充(chong)分體(ti)(ti)現(xian)(xian)我們(men)倡導(dao)的(de)(de)(de)(de)“公開、透明”的(de)(de)(de)(de)文(wen)化,也充(chong)分體(ti)(ti)現(xian)(xian)我們(men)強(qiang)調(diao)的(de)(de)(de)(de)“實事求是”的(de)(de)(de)(de)工作原則(ze)。研發就(jiu)必須以(yi)代碼(ma)說(shuo)話,而(er)(er)不是把很多東西記在腦(nao)子里,或者讓(rang)自己(ji)寫(xie)下的(de)(de)(de)(de)文(wen)檔或代碼(ma)生銹長霉,這樣才能形成團(tuan)隊的(de)(de)(de)(de)力量(liang),集體(ti)(ti)的(de)(de)(de)(de)智慧,而(er)(er)且(qie)隨著(zhu)時間的(de)(de)(de)(de)推移,我們(men)的(de)(de)(de)(de)積累就(jiu)越來越多。效率(lv)提(ti)升(sheng)之(zhi)后,我們(men)可(ke)以(yi)把省出的(de)(de)(de)(de)精力更多的(de)(de)(de)(de)傾(qing)注(zhu)到創造性的(de)(de)(de)(de)工作上去(qu),提(ti)升(sheng)產品(pin)的(de)(de)(de)(de)品(pin)質(zhi),進而(er)(er)提(ti)升(sheng)產品(pin)的(de)(de)(de)(de)市場競(jing)爭力,讓(rang)我們(men)獲得商(shang)業成功。

陶建輝

濤思數據TDengine創始人