分析防范前端BUG

简介: 复盘下前端bug

总结下前端bug

​​需求理解

原因

  • 开发和产品对需求的理解不一致
  • 沟通一致的需求有遗漏,后期忘做
  • 没有彻查模块的依赖使用关系,错估修改产生的影响范围

对策

  • 疑问或有不确定的及时与产品沟通
  • 细小功能点不要后补以防忘记或者加到自己的 todolist 做完自测时再过一遍
  • 修改代码时多全局搜索查看引用的地方

前端基础

原因

  • 基础知识不足

    • 对循环,执行顺序理解不够
    • 全局对象使用不当,未及时重置
  • 缺少异常处理

    • 接口异常处理未做
    • 接口返回值判断直接引用了可能是空对象的属性

对策

  • 搬砖时理解一些基础原理

    • 宏任务微任务等等
    • 自己整理下常用es语法
  • 测试不同浏览器下的状态
  • 遇到印象深刻的问题或者bug可以写个博客,做个笔记

代码逻辑

原因

  • 逻辑复杂、函数太长

    • 一个函数做了多个操作
  • 注释不足难以阅读理解
  • ifelse分支太多
  • 重复代码多容易漏改
  • 边界考虑不足

对策

  • 函数拆分
  • 能提炼出来的写公共函数补足注释(输入输出)
  • 养成写注释的习惯
  • 写纯函数
  • ifelse优化

    • 单层时用switch替代
    • 多层时把易判断的提前后return
  • 代码提交

    • commit日志尽量细点
    • 单个功能完成后就提交(日志就可以覆盖本次修改内容)
    • 不要复杂的功能合在一起提交
  • 反问自己

    • 是否考虑了大部分情况
    • 自己下次改好不好改
    • 是否隔几天依然能看懂自己的代码
    • 是否易复用

接口管理

原因

  • 变动信息未同步
  • 错误估计修改影响范围

对策

  • 变动可以记到自己的 todolist
  • 要求对接的后端变动时通知自己
  • 全局搜索接口,确定变更影响的模块

自测方法

原因

  • 操作习惯单一
  • 边界值测试不足

对策

  • 对照checklist
  • A/B测试
  • 边界值

    • 空值情况
    • 单一状态不同值:极小值>偏小值>引起UI变化的值>偏大值>极大值
  • 不能只满足UI展现的情况(UI反映的只是状态的一种)

    • 特殊情况的展示需要UI补图,及时提出需求或抛给产品
    • 文案:关注无文字、少文字、过多文字,不同浏览器下显示

思维方式

原因

  • 产品需求理解欠缺
  • 用户体验理解不足
  • 甩锅思维

对策

  • 学会从产品角度理解需求

    • 必要性:影响范围、对用户有没有用、体验好不好
    • 难易度:功能复杂、逻辑复杂
  • 用户思维培养

    • 跳出开发人员的思路,把自己当小白去使用功能,理解用户可能产生的困惑,进而明白产品设计的思路
  • 场景思维

    • 把自己带入产生需求的实际场景,可寻求产品的帮助,深度理解功能产生的缘由,理解公司产品的边界,什么能做,什么不适合做
  • 学习思维

    • 核心在于解决问题提升自己,不沉溺于甩锅(都是一条船上的)
    • 保持一个开放接受容纳的状态,每个问题都是提升的机会
    • 做好记录,PDCA 用起来

      • bug改完要记录原因
      • 项目不忙或者结束后分析归纳bug原因(看你自己了)
      • 反思总结,找到问题根源,不会跌倒两次
      • 定期提醒自己,check 一下
相关文章
|
2月前
|
前端开发 JavaScript 开发者
前端开发的终极技巧:如何让你的代码既简洁又高效,还能减少bug?
【10月更文挑战第30天】前端开发充满挑战与创新,如何编写简洁高效且少bug的代码是开发者关注的重点。本文介绍五大技巧:1. 模块化,提高代码复用性;2. 组件化,降低代码耦合度;3. 使用现代框架,提高开发效率;4. 统一代码规范,降低沟通成本;5. 利用工具,优化代码质量。掌握这些技巧,让前端开发更高效。
93 1
|
2月前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
57 1
|
2月前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
47 1
|
3月前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
3月前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
975 0
|
5月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
79 0
|
6月前
|
缓存 监控 前端开发
前端开发中的性能瓶颈分析与优化
【7月更文挑战第27天】前端开发中的性能优化是一个系统工程,需要从多个角度入手,综合运用多种策略。通过减少网络延迟、优化资源加载、优化DOM操作、优化JavaScript执行以及第三方服务优化等措施,可以显著提升前端应用的性能。同时,通过性能监控和调优工具的使用,可以持续监控和优化应用性能,确保用户获得流畅、高效的体验。
|
8月前
|
前端开发 JavaScript Android开发
【Uniapp 专栏】分析 Uniapp 与其他前端框架的异同
【5月更文挑战第16天】Uniapp是一个基于Vue.js的跨平台前端框架,能将代码编译成iOS、Android、H5等多个平台应用,简化跨平台开发。相比React和Angular,Uniapp更适合移动应用,减少平台适配工作。Vue.js的组件化和灵活性在Uniapp中得到延伸,增加了移动端特性。而Flutter性能优越,但学习成本高。开发者应根据项目需求和技术栈选择合适的框架。
219 4
【Uniapp 专栏】分析 Uniapp 与其他前端框架的异同
|
7月前
|
前端开发 安全 JavaScript
如何区分是前端BUG还是后端BUG
1 基于经验 前端BUG特点: (1)界面排版、布局错误、兼容性问题 (2)网络不稳定导致JS或CSS未完全加载或请求超时(一般不需要提BUG),正常网络下加载超时 后端BUG特点: 业务逻辑、性能问题、数据问题、安全性问题 2 通过HTTP请求和响应信息 可以通过浏览器开发者工具(F12)、postman、fiddler(移动端可通过该工具抓包)、Charles、Proxyman、Wireshark、HttpCanary、tcpdump等工具。
102 1
|
6月前
|
前端开发 JavaScript 流计算
前端 JS 经典:打印对象的 bug
前端 JS 经典:打印对象的 bug
46 0