xccjk / x-blog

学习笔记
17 stars 2 forks source link

前端开发流程那些事 #80

Open xccjk opened 2 years ago

xccjk commented 2 years ago

常见开发流程

常见的产品开发流程: 需求评审 -> 任务拆解 -> 项目开发 -> 项目测试 -> 发布上线

前端的开发流程: 初始化项目 -> 静态页面开发 -> 接口联调 -> 项目提测 -> bug修改及回归测试 -> 预发布 -> 发布上线 -> 项目复盘

那么,在开发的每个阶段,前端都可以搞什么事呢?

初始化项目阶段

在这个阶段,我们可以搞什么事情来提高效率?那就是定制一个符合自己业务需求的cli工具来初始化项目

历史早起的前端项目,通常是直接在项目文件夹中写HTML和JavaScript的。在现在,我们为了开发效率,常常使用框架进行开发,常见的比如React、Vue等。框架本身提供了cli工具来让我们初始化项目,比如create-react-app、vue-cli等,那我们为什么需要自己定制cli工具来初始化项目呢?

通用的三方cli工具,是大而全的,基本你想要有的功能它都有考虑到,但是,我们很多时候并不需要这么强大且复杂的功能。

使用三方cli工具带来的缺点:

所以,我们需要自定义符合自己需求的cli工具来快速的创建项目,支持多种项目模板,强业务逻辑内置,并且方便后续的升级维护

自定义cli所需要的功能:

静态页面开发阶段

常常在想一个问题,前端真的只是”资源“么,就是写页面的机器么。相信每个人都不想做成这样吧!那么,我们怎么避免这种问题的出现

在页面开发阶段,有什么可以快速提高效率的方式嘛?我想应该是有的,而且大家也在经常的使用。我觉得主要在这两个方面:

  1. mock平台
  2. UI组件库

相信很多人在写静态页面的时候遇到过这样的问题:

对于上面的问题,前端应该怎么解决?

mock的几个阶段:

  1. 代码中硬编码mock数据
  2. 在项目中使用mock.js之类的三方包来生成mock数据,在本项目调用
  3. 搭建mock平台,对外可对多项目提供统一的服务,服务端定义好结构及字段后,复制到mock平台及可生成相关mock数据

组件库的几个阶段:

  1. 每个项目单独抽离业务组件
  2. 和UI一起谈论好设计规范,抽离通用、常用业务组件,定义多主题,设计为多端通用组件库

接口联调阶段

在接口联调阶段,有哪些是经常遇到的问题。想想常见的,应该有以下几种问题:

问:前端内部接口请求不统一,请求方式多种多样

答:在项目模板模板中封装统一的请求方式request.ts,按照后端规范定义不同code码对应的逻辑及含义

问:新项目,后端接口请求跨域

答:针对跨域问题,前端配置对应host文件,后端也配置相关跨域端口规则

问:后端接口服务经常挂

答:开发阶段,可能接口频繁改动频繁发布,导致联调不顺畅。一般可以通过约定发布频率,比如没小时一起发布一次,或者通过部署多台服务器来解决

问:接口字段总是更改,导致前端报错

答:接口字段被后端改了后导致前端报错的问题相信前端都遇到过,那么怎么快速发现这种问题呢?我想,前端这边可以通过TypeScript或者prop-types来定义返回类型来快速发现问题,避免背锅

Zest-Zhang commented 2 years ago

感谢分享

xccjk commented 2 years ago

项目提测阶段

一般到了项目提测阶段,基本都是整体流程完整无阻塞了,很多开发人员就会认为闲下来了,除了一些修修补补的事情,基本就等着发版了,然后等待下个需求再开始进入开发。

很多人陷入了这种怪圈,就像一个没有感情的需求机器,不停的写新需求,没有对每次的需求有一个清晰的思考。在这时,我们应该怎么更进一步?

总结下来就是下面几点:

  1. 及时解决测试阶段的问题,不阻塞测试进度
  2. UI的高度还原及应用的流畅性
  3. 单元测试及文档的沉淀
  4. 代码review,要是规范性的、有着合理的封装、重点逻辑的注释
xccjk commented 1 year ago

项目自测

根据需求和UI开发完后,需要自测功能点后才提测,这个阶段有什么需要注意的点?

开发完成后,一般需要按照下面的几步来完成功能自测:

总结下来就是下面这几点:

  1. 项目整体流程正常
  2. UI的像素级还原
  3. 数据的异常及边界场景
  4. 新老版本、不同权限的情况下功能及展示是否正常
  5. 每个字段的取值、文案、提示语是否正确