这几天bug多,自我检讨一下
这段时间(主要指4月底到5月初)写的bug超过以往总和,觉得很有必要停一下,找找原因。所谓前车之鉴后车之师,不能也不应该在同一地方跌倒N次吧;
为什么bug频出?
深究原因,并不是代码量大、功能多,反而是在原本的基础上增、删一些小功能和文件。客观原因暂且不提,总结下个人主观上存在的问题:
- 太过自信,因为修改的功能小,相信不会有问题
 - 删除文件,而没有确定其他地方是否引用了这个文件
 - 测试不充分,修改某处功能可能会引起其他功能异常
 
如何改进
虽然已经开始写单元测试、集成测试,但这个需要最后完成了才显效果。在日常的开发、维护中,需要有意识的养成如下习惯:
1、删除文件要谨慎
在维护的过程中,也许发现某个文件、函数、代码块没有被引用,会删掉它。此时,首先应该全局搜索它是否被其他人使用,确定后再删除;然后,至少测试一遍。
2、开发流程守规范
在使用VUE开发的过程中,我遇到这样一个场景:
在某个单文件中,在method方法中需要用到一个全局变量,当时出于就近原则,在方法外设置了一个属性,代码如下:
  methods: {
    __id: 0,
    someFn() {
      let __id = ++this.__id
      if(error) {
            if( __id === this.__id) console.log(error)
        }
    },
此时,error永远不会被打印!!!
为什么?在VUE中,methods中的属性都是function类型,不然会被省略,上面例子中__id = ++this.__id,它们的值都变成NAN。
显然,这种方式在vue中是不被许可,自然要承受诅咒代价~
这几天bug多,自我检讨一下的更多相关文章
- AD软件Bug和自我失误的对战
		
说说我近期犯的两大过失,让我无语的过失,要购买重大责任险呀 一大过失:上图,看了下面的图想必大家都明白了,TOP层元件只有位号和焊盘,丝印边框哪去了? 别急,在这里,下图 为何他跑这里来了呢?我尝试了 ...
 - Goals100
		
Start:2016.4.10 100天目标:jy_ai学习.swift.设计模式 以10天为周期,开始周会,执行内容:自我检讨本周期,并展望下一个周期:目标一:寻找高效方法.1.思考, ...
 - 初涉JavaScript模式 (2) : 基本技巧
		
尽量少用全局变量 大量使用全局变量会导致的后果 全局变量创建以后会在整个JavaScript应用和Web页面中共享.所有的全局变量都存在于一个全局命名空间内,很容易发生冲突 不知不觉创建了全局变量 其 ...
 - 2017-2018-1 Java演绎法 小组会议及交互汇总
		
第一周会议 今天我们小组开展了第一次团队例会活动.我们小组将<构建之法>分为了六个部分并由六位成员先分别学习并向组长上传学习收获,这次的活动内容便是 交流前两周小组成员学习阅读<构建 ...
 - C博客作业04--数组
		
1. 本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 这几周学习了数组,一维数组,二维数组,字符数组,前一个题集还没做完,后一个题集就又发布了,当场去世,可 ...
 - ABP框架(asp.net core 2.X+Vue)模板项目学习之路(二)--切换MySql数据库
		
前言: 大家好,今天给大家带来ABP第二篇的分享,在写这篇分享的时候非常的困难,因为发现ABP的框架越是深入.难度也就越大,而且深刻感觉到自己领域驱动开发知识的欠缺,前段时间买了两本有关于领域驱动知识 ...
 - 【Beta阶段】第十周Scrum会议
		
[Beta阶段]第十周Scrum会议 本次会议为第十周第一次Scrum Meeting,会议对Alpha阶段的工作进行了反思总结,以及对Beta阶段工作的展望. 会议时间为2019.11.23.会议地 ...
 - 与大神聊天1h
		
与大神聊天1h 啊,与大神聊天1h真的是干货满满 解bug问题 之所以老出bug是因为我老是调用别人的包啊,在调参数的时候,并不知道内部机制 其实就自己写一个函数,然后能把功能实现就好了. 问题是,出 ...
 - JAVA第一次blog总结
		
JAVA第一次blog总结 0.前言 大一下学期我们开展了OPP这门课程,这也是我们第一次接触到JAVA.与上学期我们在学校里学C语言不同的是,这学期由于疫情原因我们是以网课的方式在学习.在学习中我发 ...
 
随机推荐
- vs不同
			
写了很多却错误关闭,无语,直接上内容,因为在公司年限长和德国.波兰.英国公司都有合作,而且他们的开发工具各不相同,因此我电脑上有Visual Studio 2008,Visual Studio 201 ...
 - 2017年UX设计流行的六大趋势
			
UX设计在接下来的2017年会有怎样的发展趋势呢?让我们一起回顾去年用户体验设计领域中的变化,来展望新一年用户体验设计的发展趋势吧. 1. 原型制作的爆炸性增长 随着用户体验设计师和用户界面设计师 ...
 - spring mvc MultipartFile 上传文件 当文件较小时(10k) ,无法上传成功 。
			
<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" cla ...
 - arm家族小检阅
 - linux 硬盘分区攻略
			
以下的sdX代表硬盘分区(如sda1,sda2,sdb1...等等),如果已有的硬盘分区需要改变大小的话,请参考另一篇文章. /boot:开机用的磁盘空间了,至少78MB,一般给100MB就好了. / ...
 - sci-hub 下载地址更新
			
# 2017-12-14 可用 http://www.sci-hub.tw/ 文献共享平台
 - Python 版本之 Anaconda
			
https://www.anaconda.com/download/#linux Anaconda概述 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windo ...
 - circos 绘制关系型图ribbon,并加入透明度
			
luminance = lum80<<include colors_fonts_patterns.conf>><colors># r,g,b,a color def ...
 - 前端之css笔记2
			
1 属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
 - CentOS7+Nginx+多个Tomcat配置
			
转载自:https://blog.csdn.net/name_chc/article/details/73332272:亲测可用,加了一些注释: 配置多个tomcat转发 另附上tomcat启动慢的解 ...