关于工程师:一名全栈工程师的技术实践之路
一、前言1.1 什么是全栈全栈开发是指开发人员把握了前端、后端以及数据库等多个畛域的常识和技能,可能独立实现整个我的项目的开发工作。在需要交付过程中,能够负责从我的项目的后期剖析、设计到前期开发、测试、公布等整个过程,可能疾速定位和解决问题,进步开发效率和产品质量。 1.2 为什么做全栈我认为全栈的推动是环境变动、技术倒退导致的必然结果,全栈带来的益处次要有两方面: 升高沟通老本,晋升交付效率:精细化分工导致的后果是协同老本大大增加,尤其是对于跨多个团队的我的项目,每个开发可能找对接的同学都得找好几个人才能找到,影响整体的需要交付效率。当下,由单人或单团队实现需要的闭环开发,升高协同或者是晋升产品交付效率的最快形式。从全局视角加深畛域业余度、加强集体竞争力:首先,无论是前端技术、客户端技术还是服务端技术,研发平台、框架、标准都根本定型,学习老本升高;其次,通过学习全栈技术,能够减少技术视角的广度,将来进行开发工作时,不再偏居一隅,能够从整个我的项目的角度登程,设计更正当的架构;最初,将来市场须要的也是全栈型开发同学,在《Stack Overflow 2021 寰球8W名开发者调查报告》显示排名前三别离是:全栈工程师(49.7%)、后端工程师(43.7%)、前端工程师(27.4%)。二、全栈需要开发SOP全栈技能不是无中生有,须要每个开发学习跨栈常识,并且一直实际,能力实现全栈开发、独立交付需要。为此,推广了一套比拟规范的需要落地SOP,保障需要的交付品质。 2.1 需要分级分级规范 分级流程 2.2 需要评估对全栈需要的评估次要分为以下四步: 前端同学依据需要分级流程实现需要定级与业余前端协商后指定需要承接同学承接同学评估工时工时对焦及优化(业余前端、承接同学)2.3 需要开发 & 公布需要开发 & 公布将以一个全栈需要实际为例进行介绍,详见第3章,次要能够分为以下几步: 筹备工作代码开发本地调试公布2.4 需要品质保障全栈推动须要建设在需要交付品质不变、效率晋升的前提下才有意义,保障全栈需要的交付品质次要通过CR和上线追踪的形式。 CR 所有全栈研发的代码由业务前端owner或师兄强制CR;发动CR机会,在实现我的项目开发和自测后,全栈同学需及时提交CR给师兄和业务前端owner;师兄和业务前端owner实现代码review后,全栈同学依照要求进行代码修复;线上追踪 统计千行缺陷率、可自测发现率、线上问题数、预警量等指标,纳入全栈交付品质统计;线上故障由业务前端owner和理论开发人独特解决,线上缺点由全栈开发同学修复;2.5 需要复盘全栈之路不可能一帆风顺,两头总是会有各种磕磕绊绊,失败是在劫难逃的,失败不是胜利之母,好的复盘才是,所以全栈路上,迭代复盘必不可少。商家技术团队每两周会对全栈迭代进行一次复盘,总结Highlight、Lowlight,以及后续的Action。 三、全栈需要实际3.1 背景先知平台服务于阿里巴巴国内站行业小二,通过寰球趋势洞察、站内供应剖析,输入品类策略,赋能行业小二品类布局。本需要展现站外热搜关键词榜单,不便行业小二疾速洞察站外趋势,Demo如下: 3.2 筹备工作3.2.1 环境筹备进行前端开发工作前,须要筹备本地编译环境,依照我的了解,对前端的相干编译工具类比到后端不便大家了解: 3.2.2 相熟代码在正式开发之前,拉取前端我的项目代码,学习我的项目代码构造,遵循前端开发标准。 alita-xianzhi |--- hook // 钩子脚本 |--- .eslintignore // eslint格局校验疏忽文件 |--- .eslintrc.js // esliint格局配置文件 |--- package.json // 依赖包版本(相似pom.xml) |--- src // 源代码 |-- common // 定义我的项目常量,比方目录,罕用文字说明等 |-- components // 公共组件目录 |-- entry // 跳转页 |-- pages // 页面代码,文件名与 URL 门路绝对应 |-- service // 服务,接口申请地址 |-- utils // 专用办法 |-- index.jsx // 主页 |-- index.scss // 主页款式css |-- tab-config.js // 路由配置3.2.3 新建变更每次前端开发都须要新建变更,最初造成一个独立的版本号。在前端页面展现时,通过版本号决定出现的页面版本。 ...