当前位置: 首页 > article >正文

BUG项目管理

最近只要改项目就有可能产生bug。

目前这项目,从一开始我就参与开发。

很长一段时间都是敏捷开发,有时候连UI图都是后出。

随着时间加长,需求复杂度增加,有时候动下代码就伤筋动骨,事故不断,主要是影响口碑。

首先不替自己辩解,确实是写的时候考虑不全面。

先说下项目使用php开发,而php是个弱语言。

我设置状态一般都不用0,判断起来太麻烦。

而且php写起来比较随意,开发一时爽,维护操碎心。

比如上次bug

判断金额直接用empty,empty("0")是true,而empty("0.00")是false……

从数据库读出来的都是字符串,判断错误导致bug。

empty((int)$price)或者$price>0就能避免。

仔细想想这种其实属于开发规范问题。

比如上上次bug

/(ㄒoㄒ)/~~这次比较严重。

写代码的时候忽略一种业务情况,正巧在一个小长假不断出现错误。

放假回到家有点发烧,又改错了……

导致又产生不同的错误数据。

但好在没有造成平台亏损。

再比如long long ago的一个bug

涉及到微信回执处理。

当时测试是自己编回执测,导致实际运行官方回执解析失败,而且发现的时间比较晚。

而业务上是先解冻冻结金额到用户账户可用金额……

我知道这种脑残的设计不是特别合理,我也纳闷当时我为啥这样写……

总结原因大概是当时业务对于冻结金额的负面反馈太多,索性我就先解冻,好歹是退钱了……

先解冻后处理退款回执,并且回执处理失败,没及时扣除用户金额,就导致平台亏损……

和之前的bug对比,这算是非常大的事故。

现在马上十月一放长假,可恶的补班很多。我们单休,甚至连着上八天……

目前预防错误都已准备好,不上线有数据修改的需求,大概能顺利过完假期。

项目管理

鉴于以上情况,公司最近一直抓项目管理。

根据目前的情况,我认为项目管理的主要内容是流程设计、测试、数据校验、项目管理、代码审计、客户资料管理。

1、流程设计

对于业务,在流程上的设计把好关,能避免很多bug。

主要是流程图。

可以先做流程图,然后按照流程图写。

每次修改也是先改路程图。

过程很麻烦,但是安全。

但主要问题是,像我这种主要写接口,流程图中怎么体现接口……

不然接口管理,或者查对应逻辑的接口都比较麻烦……

2、测试

测试主要是怎么测试全面的问题。

涉及流程分析,和测试工具、需求管理,任务指派等。

前两天领导还想让我弄自动化测试,写脚本弄……我得学……

3、数据校验

数据校验,可以校验平台业务数据的正确性。

难就难在正确性标准。

这点就很看重数据结构的设计。

根据自己的运维经验,业务复杂度高之后,即使是相同功能的不同版本,也要保持数据结构的一致。

不然查数据和开发真的特别麻烦……

4、代码审计

看过一些代码审计的视频,大概都是分析bug。

自己运维的项目里代码审计,一是看编写规范,二是看逻辑漏洞。

涉及开发规范的制定、程序设计(解耦、注入、注释等)、流程设计。

5、项目管理

项目管理就比较简单,比如服务器信息、数据库信息、启动方法、守护进程、注意事项等。

不做管理的话,服务器都不敢重启,生怕哪个项目有问题。

6、客户资料管理

可以将客户对应到项目,这样哪个项目比较紧急就比较好分辨😊。

工作交接的话,也方便联系。

正在找根据以上内容便于使用的开源项目……

有意向自己写一个,回头自己再整理需求。

话说公司有个大佬,以前也做过不少大项目,都是用java,也没听他说有这么多事情。

一定不是语言的差距,而是我和大佬的差距😥。


http://www.kler.cn/news/324403.html

相关文章:

  • 【MAC】安装realsense
  • HttpServletRequest简介
  • 美团中间件C++一面-面经总结
  • 25维谛技术面试最常见问题面试经验分享总结(包含一二三面题目+答案)
  • 基于两分支卷积和 Transformer 的轻量级多尺度特征融合超分辨率网络 !
  • 如何组织一场考试并筛选未参加答题的考生?
  • 搜索:如何用 A*搜索算法实现游戏中的寻路功能?
  • Python脚本示例,你可以使用这个脚本来自动化登录网站、选择页面元素和提交表单
  • 『网络游戏』GoLand服务器框架【01】
  • 第 2 章:Vue 组件化编程
  • Cluster Explanation via Polyhedral Descriptions
  • 【性能优化】低配starRocks常驻内存优化
  • py-mmcif提取结构解析的方法、提交日期以及pdb ID等
  • 基于Node.js+Express+MySQL+VUE实现的在线电影视频点播网站管理系统的设计与实现部署安装
  • Kubernetes服务发布基础
  • [leetcode刷题]面试经典150题之9python哈希表详解(知识点+题合集)
  • [go] 状态模式
  • CSS3 字体
  • 卷轴模式开发的技术架构分析与源代码展示
  • 数据结构讲解二叉树 【一】
  • 自动化测试实例:Web登录功能性测试(无验证码)
  • 【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)
  • S32K312 RTD 4.0.0 版本 OCU 例程配置流程说明
  • HuggingChat macOS 版现已发布
  • 【路径规划】基于球向量的粒子群优化(SPSO)算法在无人机路径规划中的实现
  • 002.动手实现softmax回归(pytorch简洁版)
  • AutosarMCAL开发——基于EB MCU驱动
  • 爬虫逆向学习(八):Canvas画图滑块验证码解决思路与绕过骚操作
  • 第十四章:html和css做一个心在跳动,为你而动的表白动画
  • Maven 实现依赖统一管理