开发过程中常见的bug

在日常开发过程中,我们往往会遇到大大小小的问题,可能是跨域,可能是前后端交互问题,也有可能是接口测试问题。。。,下面,就个人开发过程中遇到的问题简单讲解一下解决方法,这个就是我首次尝试开发小米官网的 github地址,有兴趣的可以看下。(以下方法仅供参考)

前端(纯 JS 代码的调试)

  
 1. xxx is not defined
                 你使用了一个 xxx 变量, 这个变量没有定义
                 使用变量: 任何一个你需要获取某一个变量的值的时候

      

 2.  Cannot read property 'xxx' of undefined
                 你一定是写了一个 yyy.xxx 这样的东西
                 前面这个 yyy 是一个 undefined

       

 3. Cannot read property 'xxx' of null
                 你一定是写了一个 yyy.xxx 这样的东西
                 前面这个 yyy 是一个 null

        

 4. Cannot set property 'id' of undefined
                你一定写了一个 yyy.xxx = zzz 这样的东西
                前面这个 yyy 是一个 undefined

       

 5. Cannot set property 'id' of null
                 你一定写了一个 yyy.xxx = zzz 这样的东西
                 前面这个 yyy 是一个 null

   

 6. xxx.forEach is not a function
                你一定是写了一个 xxx.forEach()
                分成两个部分来看
                  1. 看 点 后面的函数名(是不是一个我们熟知的方法)
                  2. xxx 是不是符合使用这个方法的条件
               - forEach 确实没有写错, 是一个数组常用方法
                  - 问题出现在 xxx 一定不是一个数组
               - xxx 没有问题的
                -  后面的函数名出现了问题

     

 7. xxx is not a function
                 你一定写了一个 xxx()
                 表示 xxx 被定义过, 但是 不是一个函数, 你又把他当作 函数 来调用了

          

 8. Unexpected token J in JSON at position 10
                表示你在使用 JSON.parse(xxx) 解析了一个内容
                 xxx 这个内容的第 10 个位置的 J 出现的了问题, 不符合 json 格式
                 你就要考虑你解析的内容是从哪里来的
                  - 解析响应体
                  - 如果你请求的是本地 json 文件, 那么就证明你的 json 文件里面书写错了
                  - 如果你请求的是一个接口, 那么就证明这个接口给你返回的不是一个 json 格式

        

 9. 代码改了, 页面不变
                你改的文件和你浏览器打开的不是一个文件 
                 	 - 直接找到你的文件名, 右键, 再资源管理器打开
                  	- 再资源管理器打开以后, 看看到底是不是我要写的内容
                 缓存问题
                  - 当你再服务器上打开的时候
                  - 有可能会因为缓存, 没有即时更新文件
                  - 右键点击浏览器左上角的刷新按钮, 点击清除缓存强制从新加载
                 你的代码写在了函数里面
                  - 你要确定这个函数真的执行了
                  - 你在函数里面打印个东西, 只要浏览器上没打印出来
                  - 直接再控制台执行一下函数名, 看看会不会有东西

           

 10. 写了一个事件, 但是没有执行
                 事件写了, 不执行
                  - 你的事件名称写错了
                  - 元素获取出错了(不是没获取到, 是获取错了)
                 需要渲染的页面
                  - 一定要先渲染完毕页面, 再绑定事件
                  - **有没有异步代码**

        

 11. 请求本地 json 文件莫名其妙就跨域了
                 明明请求的是本地 json 文件, 咋就跨域了?
                 只要你发送了 ajax 请求, 就要在 服务器上 打开页面, 不能本地打开页面
                  - 要么你放在 WWW 目录里面, 用 apache 启动
                  - 要么你就启动你的 gulp, 也是再服务器上打开页面
                - **本地打开的页面, 不能发送请求**

前后端(前后端交互的问题)


          1. 跨域问题
             你打开页面的地址和你请求的地址
              - 传输协议/域名/端口号, 有任意一个不一样, 就是跨域请求
             解决问题
              1. jsonp 方式(前提就是后端确实是按照 jsonp 接口写的)
                - 后端是自己写的时候才能修改
              2. cors 方式(跨域资源共享)
                - 你要和后端协商, 看看能不能开启 cors
              3. 代理 方式
                - 使用代理的方式进行跨域请求
          2. 成功的回调没有执行
             页面不报错, 也不打印内容
             因为你的请求出现问题了, 成功的回调没有执行
             解决问题
              1. 写一个失败的回调 error
                - 就可以再失败的回调里面看一下错误信息(为什么失败)
              2. 去到这个请求的位置(network 里面查找)
                - 找到这个请求, 点击 response
                - 看看后端给我返回的到底是个什么
                - 是不是一个合理的 json 格式的字符串
             只要涉及到请求了
              - **出现意料外的问题一定要先看 response**
              - 看看这个请求的返回值是不是真的是我想要的内容
              - 如果 response 和我需要的内容一摸一样, 那么问题一定出现在前端
              - 如果 response 和我需要的内容不一样, 那么问题一定出现再后端
          3. 接口测试问题
             拿到接口
              - 后端给的
              - 自己写的(工作中都是后端给的)
             一定要先进行接口测试
              - postman 工具测试一下
             确定接口没有问题, 也就是后端没有问题了
              - 我们再写代码请求
              - 只要出现问题, 那么就是我们自己的问题

postman 软件安装包
链接:https://pan.baidu.com/s/1UmeUhduxGLrWrQMWOv_pog
提取码:27ml

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件开发流程指的是软件从概念到最终交付的整个过程,其包括需求分析、设计、编码、测试、发布和维护等多个阶段。在这个过程bug流程的存在非常重要。 首先,在软件开发过程bug是不可避免的。当人们构建复杂的软件系统时,往往难免会出现一些错误和缺陷。这些bug可能会导致软件的功能失效、性能下降或者安全风险增加。因此,建立一个明确的bug处理流程是非常必要的。 一个典型的bug流程通常包括以下几个步骤:bug的发现、记录、分析、修复和验证。当用户或开发人员发现了一个bug,首先需要将bug详细描述,并记录到一个集的缺陷跟踪系统。然后,bug经过负责人的分析和评估,确定其优先级和处理的紧急程度。接下来,开发人员根据相关信息进行修复,并提交代码。最后,测试人员对修复后的软件进行验证,确保bug已经被解决。 此外,职能在软件开发流程也发挥着重要作用。一个高效的软件开发团队通常包括不同的职能角色,如项目经理、需求分析师、设计师、程序员、测试人员等。这些不同的职能角色协同工作,共同推动软件开发流程的顺利进行。 职能的定义和责任范围可以根据实际情况进行调整,但一般来说,项目经理负责整体的项目规划、资源管理和协调工作;需求分析师负责收集、分析和管理用户需求;设计师负责制定软件的架构和设计方案;程序员负责根据设计方案开发代码;测试人员负责验证软件的质量和稳定性。 综上所述,软件开发流程bug流程和职能分工是保证软件质量和项目顺利进行的重要组成部分。良好的bug流程可以及时发现和解决问题,而合理的职能分工可以有效提高开发效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别来…无恙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值