前端小團(tuán)隊(duì)如何搞基礎(chǔ)設(shè)施建設(shè)丧诺?

image.png

前言

我為什么會(huì)思考這個(gè)問題行冰?這得從一篇演講稿說起:

前端搞基建|堂主 - 如何推動(dòng)前端團(tuán)隊(duì)的基礎(chǔ)設(shè)施建設(shè) - 知乎

上文最初大概是在20204窄锅、5月份的時(shí)候看到的(當(dāng)時(shí)還是在語雀上藻肄,不過現(xiàn)在鏈接已經(jīng)失效,好在知乎上面還找得到)间学,作者在上述演講稿中詳盡地介紹了其團(tuán)隊(duì)在一年多的時(shí)間內(nèi)如何從零到一構(gòu)建了龐大的前端基礎(chǔ)設(shè)施體系殷费,以及這些基礎(chǔ)設(shè)施到底起到了多大的作用;整篇演講稿看完真是令人恍然大悟低葫,原來前端可以如此高效以及成體系详羡,看完后我真是對該團(tuán)隊(duì)擁有的前端基礎(chǔ)設(shè)施垂涎三尺,然后臆想了一下在如此高效的前端體系中工作應(yīng)該是一件很幸福的事情嘿悬。

不過实柠,考慮到文中這種龐大的、成熟的前端基礎(chǔ)設(shè)施是建立在龐大的前端團(tuán)隊(duì)以及超多的前端業(yè)務(wù)場景的積累下建設(shè)而成的善涨,那么小團(tuán)隊(duì)怎么辦主到?

img

于是很自然地我就想到了這個(gè)問題,也在一直試圖尋找這個(gè)問題的答案躯概;在經(jīng)過2020年內(nèi)大半年的在團(tuán)隊(duì)內(nèi)部的基建實(shí)踐(比較初級(jí))后登钥,我想也許是時(shí)候回答和整理這個(gè)問題的思路了

小團(tuán)隊(duì)的現(xiàn)實(shí)問題

考慮到現(xiàn)實(shí)娶靡,畢竟大多數(shù)前端團(tuán)隊(duì)不像大廠那樣有豐富的團(tuán)隊(duì)人員配置牧牢,大多數(shù)還是很小的團(tuán)隊(duì),小團(tuán)隊(duì)在實(shí)施基建時(shí)就不可避免的遇到很現(xiàn)實(shí)的阻力

  • 最大的阻力應(yīng)該就是受限于團(tuán)隊(duì)規(guī)模小姿锭,無法投入較多精力處理作用于直接業(yè)務(wù)以外的事情
  • 其次應(yīng)該是團(tuán)隊(duì)內(nèi)部對于基建的必要性和積極性認(rèn)識(shí)不夠(夠用就行的思想)

小團(tuán)隊(duì)基建的必要性

綜合上面的現(xiàn)實(shí)問題塔鳍,是否就可以認(rèn)為前端基建就是大廠/大團(tuán)隊(duì)的專屬權(quán)利和義務(wù)呢?畢竟看起來有點(diǎn)無法下手和吃力不討好的樣子呻此;

在我看來轮纫,所謂的基建就是一切可以提升編碼效率、團(tuán)隊(duì)協(xié)作效率及業(yè)務(wù)魯棒性工具和方法的集合焚鲜;只要是項(xiàng)目還在迭代掌唾、擴(kuò)展放前,就不可避免地遇到新的問題以及效率瓶頸,更不用說很多項(xiàng)目內(nèi)的業(yè)務(wù)痛點(diǎn)糯彬;目前很多的項(xiàng)目內(nèi)問題解決路徑就是:直到問題出現(xiàn)才會(huì)去解決問題(甚至是到問題嚴(yán)重的時(shí)候才會(huì)去解決問題)凭语;

這就是基建最核心的價(jià)值:幫助業(yè)務(wù)更好的活在未來。[1]

我很認(rèn)同上面這句話撩扒,基建不僅可以幫助提升當(dāng)下的效率似扔,還可以避免一些問題的出現(xiàn),以便業(yè)務(wù)更好地可持續(xù)發(fā)展搓谆;

小團(tuán)隊(duì)?wèi)?yīng)該建設(shè)哪些基礎(chǔ)設(shè)施炒辉?

考慮到基建的必要性和小團(tuán)隊(duì)的現(xiàn)實(shí)問題,我給出的答案是:

  • 優(yōu)先級(jí):優(yōu)先發(fā)展投入產(chǎn)出比大的地方
  • 范圍:著眼于自身業(yè)務(wù)沉淀及業(yè)務(wù)需求
  • 自動(dòng)化程度:量力而行泉手,不要一開始就追求大團(tuán)隊(duì)所擁有的成體系的自動(dòng)化前端基建辆脸,推薦“局部研發(fā)鏈路的自動(dòng)化

在設(shè)計(jì)工具的相關(guān)交流中,我們還發(fā)現(xiàn)了有的團(tuán)隊(duì)開始把交互相關(guān)的功能也做了進(jìn)去螃诅,例如將頁面跳轉(zhuǎn)啡氢,后端處理流程邏輯等進(jìn)行了可視化編輯,自動(dòng)生成相應(yīng)的接口和流程代碼术裸。這種探索可以概括成:“局部研發(fā)鏈路的自動(dòng)化”倘是。它是一個(gè)初期提效很有用的方法。在對外交流中我們發(fā)現(xiàn)了兩點(diǎn)有用的建議:

一是任何團(tuán)隊(duì)都可以并且也都應(yīng)該做袭艺,不必覺得自己團(tuán)隊(duì)研發(fā)實(shí)力不夠搀崭,等大公司推出相應(yīng)方案。局部自動(dòng)化的關(guān)鍵其實(shí)對自己的業(yè)務(wù)和人員分工的一種總結(jié)和思考猾编。在技術(shù)上瘤睹,當(dāng)自己的業(yè)務(wù)相對確定時(shí),通過一些簡單的方法就能實(shí)現(xiàn)答倡。而大公司要考慮的大而全轰传,不一定適合。在人員組織上瘪撇,幾乎所有的自動(dòng)化方案都有一定的分工要求获茬,這也是因組織而異的。局部的自動(dòng)化是之后整體架構(gòu)變革的關(guān)鍵前提倔既。[2]

投入產(chǎn)出比較大的地方

  • 規(guī)范文檔:個(gè)人覺得規(guī)范文檔應(yīng)當(dāng)是整個(gè)基建中的靈魂恕曲,因?yàn)?strong>規(guī)范文檔可以看做是整個(gè)團(tuán)隊(duì)的共識(shí),在沒有共識(shí)的情況下開展基建不免會(huì)遇到很多不理解的地方渤涌;而且制訂相應(yīng)的規(guī)范可以先參考業(yè)界常用的佩谣,然后再具體討論內(nèi)部的細(xì)節(jié),花費(fèi)的時(shí)間不需要太多实蓬,但是帶來的收益絕對是極大的(有效地提升團(tuán)隊(duì)協(xié)作共識(shí)和效率)茸俭;
  • 業(yè)務(wù)(通用)組件:前端項(xiàng)目隨著業(yè)務(wù)擴(kuò)展吊履,就會(huì)自然地抽象出可以被復(fù)用的業(yè)務(wù)組件,這也是一種業(yè)務(wù)沉淀瓣履;不過個(gè)人覺得組件的產(chǎn)出流程應(yīng)該納入基建中,加以規(guī)范和流程化练俐,否則容易造成組件復(fù)用率不高袖迎、擴(kuò)展性不強(qiáng),耦合度過高等問題腺晾;
  • 工具函數(shù):實(shí)際上跟業(yè)務(wù)組件類似燕锥,只是組件在前端項(xiàng)目內(nèi)偏向于視圖層,而工具函數(shù)就是邏輯層悯蝉,同樣地工具函數(shù)的產(chǎn)出流程也應(yīng)當(dāng)規(guī)范化归形;
  • 代碼檢測:這個(gè)實(shí)際上是配合代碼規(guī)范文檔進(jìn)行的一種輔助手段,因?yàn)榭谡f無憑鼻由,規(guī)范畢竟不是一種實(shí)體性質(zhì)的東西暇榴,實(shí)際編碼過程中可能出現(xiàn)不遵守和遺忘代碼規(guī)范的情況,如果缺乏一種強(qiáng)制手段來檢測規(guī)范的執(zhí)行蕉世,那么代碼相關(guān)的規(guī)范約束力就會(huì)大打折扣蔼紧;事實(shí)上,如今社區(qū)已經(jīng)存在各種相應(yīng)成熟的代碼檢測工具狠轻,只需要根據(jù)內(nèi)部約定的規(guī)范做一些修改配置就夠了奸例;
  • 腳手架:當(dāng)公司業(yè)務(wù)項(xiàng)目之間出現(xiàn)高度的相似時(shí),則可以利用腳手架將之前沉淀的項(xiàng)目配置規(guī)范化向楼,完成項(xiàng)目創(chuàng)建流程的規(guī)范化查吊,可以滿足項(xiàng)目快速創(chuàng)建的目的,且項(xiàng)目初始化工作顯著減少還可以復(fù)用已經(jīng)沉淀的一些項(xiàng)目配置湖蜕;

基建實(shí)踐

說了這么多逻卖,那么如何在項(xiàng)目中實(shí)施前端基建呢?這里以我在內(nèi)部的某個(gè)項(xiàng)目實(shí)踐為例:

  • 項(xiàng)目背景:APP配套使用的業(yè)務(wù)后臺(tái)昭抒;前期工作是從老項(xiàng)目中遷移(重構(gòu))箭阶,后期加入各種新增模塊;
  • 項(xiàng)目特點(diǎn):模塊繁多戈鲁,某些模塊功能相似度很高仇参,表單復(fù)雜度較大;
img

上圖就是我在項(xiàng)目中大概做的一些基建相關(guān)實(shí)踐的概況婆殿;

公共組件產(chǎn)出流程

image.png

渲染模型/DSL

image.png
image.png

其他

基建的效果

  • 團(tuán)隊(duì)協(xié)作效率提升诈乒,規(guī)范性明顯增強(qiáng)
  • 通過前期組件/公共的積累和沉淀,后續(xù)開發(fā)速度明顯提升(搭積木式開發(fā))
  • 代碼復(fù)用率明顯提高婆芦,減少復(fù)制粘貼次數(shù)

后話

嘗試基建可以收獲很多

在項(xiàng)目中積極實(shí)踐/推進(jìn)基建后我才發(fā)現(xiàn)怕磨,原來嘗試基建可以收獲到很多東西:

  • 對前端項(xiàng)目整體會(huì)有更深喂饥、更本質(zhì)的認(rèn)識(shí),能夠找出更多的業(yè)務(wù)及編碼痛點(diǎn)
  • 可以拓展提效的更多思路肠鲫,接觸到更多高效的編碼體系及工具
  • 可以加強(qiáng)全局觀念员帮,認(rèn)識(shí)到各種架構(gòu)、解決方案的具體適用場景导饲,然后嘗試提出更適用于具體業(yè)務(wù)場景下的架構(gòu)及解決方案

簡言之捞高,積極嘗試基建不僅可以對當(dāng)下項(xiàng)目提效,還能提升自我解決問題的能力渣锦;在這不到一年的實(shí)踐中腦海里已經(jīng)閃出了各種各樣的解決方案硝岗,有的是已經(jīng)應(yīng)用了,更多的則是還在探索和檢驗(yàn)中袋毙,總之收獲了很多靈感

image.png
image.png
image.png
image.png

基建沒有終點(diǎn)

我個(gè)人覺得只要是項(xiàng)目還在發(fā)展/迭代型檀,基建就沒有終點(diǎn);這一點(diǎn)從大廠的實(shí)踐來看也是一樣的听盖,大廠們正齊步從可視化搭建(半自動(dòng)化)邁向智能化搭建(全自動(dòng)化)的探索之路胀溺;

相關(guān)文檔


  1. 前端搞基建|堂主 - 如何推動(dòng)前端團(tuán)隊(duì)的基礎(chǔ)設(shè)施建設(shè) - 知乎 ?

  2. 長夜未央——企業(yè)級(jí)研發(fā)提效的下一階段 - 知乎 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市皆看,隨后出現(xiàn)的幾起案子月幌,更是在濱河造成了極大的恐慌,老刑警劉巖悬蔽,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扯躺,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝎困,警方通過查閱死者的電腦和手機(jī)录语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禾乘,“玉大人澎埠,你說我怎么就攤上這事∈寂海” “怎么了蒲稳?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伍派。 經(jīng)常有香客問我江耀,道長,這世上最難降的妖魔是什么诉植? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任祥国,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舌稀。我一直安慰自己啊犬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布壁查。 她就那樣靜靜地躺著觉至,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睡腿。 梳的紋絲不亂的頭發(fā)上语御,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音嫉到,去河邊找鬼沃暗。 笑死月洛,一個(gè)胖子當(dāng)著我的面吹牛何恶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嚼黔,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼细层,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了唬涧?” 一聲冷哼從身側(cè)響起疫赎,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碎节,沒想到半個(gè)月后捧搞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狮荔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年胎撇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殖氏。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晚树,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雅采,到底是詐尸還是另有隱情爵憎,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布婚瓜,位于F島的核電站宝鼓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏巴刻。R本人自食惡果不足惜席函,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冈涧。 院中可真熱鬧茂附,春花似錦正蛙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蒂阱,卻和暖如春锻全,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背录煤。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工鳄厌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妈踊。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓了嚎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親廊营。 傳聞我的和親對象是個(gè)殘疾皇子歪泳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友露筒。感恩相遇呐伞!感恩不離不棄。 中午開了第一次的黨會(huì)慎式,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,559評(píng)論 0 11
  • 彩排完伶氢,天已黑
    劉凱書法閱讀 4,201評(píng)論 1 3
  • 沒事就多看看書,因?yàn)楦褂性姇鴼庾匀A瘪吏,讀書萬卷始通神癣防。沒事就多出去旅游,別因?yàn)闆]錢而找借口肪虎,因?yàn)橹灰闶〕詢€用劣砍,來...
    向陽之心閱讀 4,777評(píng)論 3 11
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒扇救。表情可以傳達(dá)很多信息刑枝。高興了當(dāng)然就笑了,難過就哭了迅腔。兩者是相互影響密不可...
    Persistenc_6aea閱讀 124,547評(píng)論 2 7