前端小团队如何搞基础设施建设?

image.png

前言

我为什么会思考这个问题?这得从一篇演讲稿说起:

前端搞基建|堂主 - 如何推动前端团队的基础设施建设 - 知乎

上文最初大概是在20204、5月份的时候看到的(当时还是在语雀上,不过现在链接已经失效,好在知乎上面还找得到),作者在上述演讲稿中详尽地介绍了其团队在一年多的时间内如何从零到一构建了庞大的前端基础设施体系,以及这些基础设施到底起到了多大的作用;整篇演讲稿看完真是令人恍然大悟,原来前端可以如此高效以及成体系,看完后我真是对该团队拥有的前端基础设施垂涎三尺,然后臆想了一下在如此高效的前端体系中工作应该是一件很幸福的事情。

不过,考虑到文中这种庞大的、成熟的前端基础设施是建立在庞大的前端团队以及超多的前端业务场景的积累下建设而成的,那么小团队怎么办?

img

于是很自然地我就想到了这个问题,也在一直试图寻找这个问题的答案;在经过2020年内大半年的在团队内部的基建实践(比较初级)后,我想也许是时候回答和整理这个问题的思路了

小团队的现实问题

考虑到现实,毕竟大多数前端团队不像大厂那样有丰富的团队人员配置,大多数还是很小的团队,小团队在实施基建时就不可避免的遇到很现实的阻力

  • 最大的阻力应该就是受限于团队规模小,无法投入较多精力处理作用于直接业务以外的事情
  • 其次应该是团队内部对于基建的必要性和积极性认识不够(够用就行的思想)

小团队基建的必要性

综合上面的现实问题,是否就可以认为前端基建就是大厂/大团队的专属权利和义务呢?毕竟看起来有点无法下手和吃力不讨好的样子;

在我看来,所谓的基建就是一切可以提升编码效率、团队协作效率及业务鲁棒性工具和方法的集合;只要是项目还在迭代、扩展,就不可避免地遇到新的问题以及效率瓶颈,更不用说很多项目内的业务痛点;目前很多的项目内问题解决路径就是:直到问题出现才会去解决问题(甚至是到问题严重的时候才会去解决问题);

这就是基建最核心的价值:帮助业务更好的活在未来。[1]

我很认同上面这句话,基建不仅可以帮助提升当下的效率,还可以避免一些问题的出现,以便业务更好地可持续发展;

小团队应该建设哪些基础设施?

考虑到基建的必要性和小团队的现实问题,我给出的答案是:

  • 优先级:优先发展投入产出比大的地方
  • 范围:着眼于自身业务沉淀及业务需求
  • 自动化程度:量力而行,不要一开始就追求大团队所拥有的成体系的自动化前端基建,推荐“局部研发链路的自动化

在设计工具的相关交流中,我们还发现了有的团队开始把交互相关的功能也做了进去,例如将页面跳转,后端处理流程逻辑等进行了可视化编辑,自动生成相应的接口和流程代码。这种探索可以概括成:“局部研发链路的自动化”。它是一个初期提效很有用的方法。在对外交流中我们发现了两点有用的建议:

一是任何团队都可以并且也都应该做,不必觉得自己团队研发实力不够,等大公司推出相应方案。局部自动化的关键其实对自己的业务和人员分工的一种总结和思考。在技术上,当自己的业务相对确定时,通过一些简单的方法就能实现。而大公司要考虑的大而全,不一定适合。在人员组织上,几乎所有的自动化方案都有一定的分工要求,这也是因组织而异的。局部的自动化是之后整体架构变革的关键前提。[2]

投入产出比较大的地方

  • 规范文档:个人觉得规范文档应当是整个基建中的灵魂,因为规范文档可以看做是整个团队的共识,在没有共识的情况下开展基建不免会遇到很多不理解的地方;而且制订相应的规范可以先参考业界常用的,然后再具体讨论内部的细节,花费的时间不需要太多,但是带来的收益绝对是极大的(有效地提升团队协作共识和效率);
  • 业务(通用)组件:前端项目随着业务扩展,就会自然地抽象出可以被复用的业务组件,这也是一种业务沉淀;不过个人觉得组件的产出流程应该纳入基建中,加以规范和流程化,否则容易造成组件复用率不高、扩展性不强,耦合度过高等问题;
  • 工具函数:实际上跟业务组件类似,只是组件在前端项目内偏向于视图层,而工具函数就是逻辑层,同样地工具函数的产出流程也应当规范化;
  • 代码检测:这个实际上是配合代码规范文档进行的一种辅助手段,因为口说无凭,规范毕竟不是一种实体性质的东西,实际编码过程中可能出现不遵守和遗忘代码规范的情况,如果缺乏一种强制手段来检测规范的执行,那么代码相关的规范约束力就会大打折扣;事实上,如今社区已经存在各种相应成熟的代码检测工具,只需要根据内部约定的规范做一些修改配置就够了;
  • 脚手架:当公司业务项目之间出现高度的相似时,则可以利用脚手架将之前沉淀的项目配置规范化,完成项目创建流程的规范化,可以满足项目快速创建的目的,且项目初始化工作显著减少还可以复用已经沉淀的一些项目配置;

基建实践

说了这么多,那么如何在项目中实施前端基建呢?这里以我在内部的某个项目实践为例:

  • 项目背景:APP配套使用的业务后台;前期工作是从老项目中迁移(重构),后期加入各种新增模块;
  • 项目特点:模块繁多,某些模块功能相似度很高,表单复杂度较大;
img

上图就是我在项目中大概做的一些基建相关实践的概况;

公共组件产出流程

image.png

渲染模型/DSL

image.png
image.png

其他

基建的效果

  • 团队协作效率提升,规范性明显增强
  • 通过前期组件/公共的积累和沉淀,后续开发速度明显提升(搭积木式开发)
  • 代码复用率明显提高,减少复制粘贴次数

后话

尝试基建可以收获很多

在项目中积极实践/推进基建后我才发现,原来尝试基建可以收获到很多东西:

  • 对前端项目整体会有更深、更本质的认识,能够找出更多的业务及编码痛点
  • 可以拓展提效的更多思路,接触到更多高效的编码体系及工具
  • 可以加强全局观念,认识到各种架构、解决方案的具体适用场景,然后尝试提出更适用于具体业务场景下的架构及解决方案

简言之,积极尝试基建不仅可以对当下项目提效,还能提升自我解决问题的能力;在这不到一年的实践中脑海里已经闪出了各种各样的解决方案,有的是已经应用了,更多的则是还在探索和检验中,总之收获了很多灵感

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

基建没有终点

我个人觉得只要是项目还在发展/迭代,基建就没有终点;这一点从大厂的实践来看也是一样的,大厂们正齐步从可视化搭建(半自动化)迈向智能化搭建(全自动化)的探索之路;

相关文档


  1. 前端搞基建|堂主 - 如何推动前端团队的基础设施建设 - 知乎

  2. 长夜未央——企业级研发提效的下一阶段 - 知乎

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,653评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,321评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,833评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,472评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,306评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,274评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,658评论 3 385
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,335评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,638评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,697评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,454评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,311评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,699评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,986评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,254评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,647评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,847评论 2 335

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,534评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,167评论 1 3
  • 没事就多看看书,因为腹有诗书气自华,读书万卷始通神。没事就多出去旅游,别因为没钱而找借口,因为只要你省吃俭用,来...
    向阳之心阅读 4,765评论 3 11
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 123,262评论 2 7