BUG项目管理

news/2024/9/28 21:07:52 标签: 运维

最近只要改项目就有可能产生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.niftyadmin.cn/n/5681851.html

相关文章

WebGL动画与交互

目录 动画交互拖放触摸事件多点触控手势识别滑动手势缩放和平移键盘控制游戏控制

nodejs逐字读取文件示例

像chatpGPT显示文字一样.主要是服务器流式返回数据.前端用for await读取response.body <button id"fetchjson" onclick"FetchJSON()">fetch json看console与network</button> <button id"fetchstream" onclick"FetchStrea…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

WSL (Linux)配置 Rust 开发调试环境

WSL &#xff08;Linux&#xff09;配置 Rust 开发调试环境 安装 Rust&#xff1a;安装 Rust 环境 - Rust语言圣经(Rust Course) 除了执行以上步骤&#xff0c;还得安装编译工具&#xff1a; sudo apt-get update sudo apt-get install build-essential配置 VSCode&#xff1a;…

数据结构与算法——Java实现 20.习题——二叉树层序遍历

认真的人改变自己&#xff0c;执着的人改变命运 —— 24.9.27 102. 二叉树的层序遍历 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例 2&#xff1a; 输入&#xff1a;root [1] 输出&#xff1a;[[1]]示例 3&…

繁体字能申请注册商标吗?

有些主体为了表现企业历史和文化&#xff0c;喜欢用繁体字申请注册商标&#xff0c;那繁体字可以能申请注册商标吗&#xff0c;当然是可以的&#xff0c;普推知产老杨检索在1990年《国家工商行政管理局商标局关于商标可否使用繁体字问题的答复》&#xff0c;可以使用繁体字&…

Centos8.5.2111(1)之本地yum源搭建和docker部署与网络配置

由于后边可能要启动多个服务&#xff0c;避免服务之间相互干扰&#xff0c;本课程建议每个服务独立部署到一台主机上&#xff0c;这样做会导致资源占用过多&#xff0c;可能会影响系统的运行。服务器部署一般不采用GUI图形界面部署&#xff0c;而是采用命令行方式部署&#xff…

怎么绕开华为纯净模式安装软件

我是标题 众所周不知&#xff0c;华为鸿蒙系统自带纯净模式&#xff0c;而且 没法关闭 : ) 我反正没找到关闭键 以前或许会有提示&#xff0c;无视风险&#xff0c;“仍要安装”。但我这次遇到的问题是&#xff0c;根本没有这个选项&#xff0c;只有“应用市场”和“取消”&…