程序开发中那些莫名奇妙的bug
2019独角兽企业重金招聘Python工程师标准>>>
众所周知,程序员的使命,就是不停的编程,调试,测试,直到上线为止。但其中相当一部分时间都花费到调试上,因为我们总会在开发过程中因为不同的环境,不同的编码语言规则,导致我们遇到各种各样的奇葩问题,对于这些问题,当别人发现这些问题时,我们很惊讶的告诉别人,这不可能!或者说要不然你重启下,或者你电脑抽风了吧,实际上,有些问题,是因为我们的个人习惯导致的bug,百分之九十的情况下通过重启根本解决不了任何问题,所以我们在编程过程中一定要养成谨慎,认真的习惯。从而节省我们更多的时间去做更有意义的事情。
下面是我以前在开发中曾经遇到过的问题,分享给大家,让大家引以为戒!
路径名称不区分大小写
例如:在web端程序的控制层action返回一个页面路径时,假设路径中的某个元素使用了大写,而静态页面使用了小写,如果你在Windows下开发可能不会出现任何问题,因为Windows下不区分大小写,那天你的服务要是部署到Linux服务器上,那时日志里面一直出现504异常,你就彻底歇菜了。
2. html页面中id重复
如果你使用jq选中一个id进行操作,忽然发现失灵了,怎么操作都不起作用,你就应该检查下你的页面中是否存在重复的id。
3. 前端数据传到后台时掺杂前端的数据。
有时我们为了使体验更好,都习惯在输入框里面使用placehoder,殊不知,在IE8下,placehoder里面的值会直接传到后台,这时就应该加上判断,再比如js一直报错‘缺少右括号’,检查一下你的代码是不是有空格,浏览器默认结束了,要注意加上\" \"字符防止浏览器认为你的字符结束。还有如果你的前端代码写的不标准,因为浏览器解析的原因,很可能把一些/等等前端符号传到后端,最后造成一些莫名其妙的错误。
4. 使用数学中的逻辑运算符
if(2<a<7){………}乍看起来没有问题,我这样用都用了几十年了,思维定势啊,找了半天,恍然大悟,计算机中比较运算符是不能这样使用的 。
5. 文本文档的编码格式问题
通常我们在打开记事本,编辑文字时,Windows下记事本的编辑格式默认使用ANSI,它包括gbk,gb2312,但是我们Java程序习惯使用utf8,如果我们把这个文件读到程序中,可想而知,全是乱码(有时后果很严重的)。
6. 忽然发现Java中的repalaceAll不能使用了。
String str = "我们都是中国人.......";
String replaceAll = str.replaceAll(".", "");
这里面的点号,是无论如何也不能替换掉,不仅不能替换掉,而且其他文字也替换掉了,这时你如果细心点,你会发现在Java中点号是特殊字符,它代表任何字符。(详细的你可以参考正则表达式部分转义字符的api)。
7. char x = 'x';System.out.println(true?250:x);
结果为ú,对于三目运算符中的两个结果,如果一个是常量,一个是类型T的变量,则常量会被转型为类型T。
8. mysql数据库字段值的大小写问题。
如果插入2个不同的值当做key,但是数据库就是抛出duplicated key,这时你需要仔细看一下你的两个值一样不一样的区别是不是在大小写上面,在默认情况下mysql字段值得内容是不区分大小写的,至于怎么设置方法很多,你到官方文档上看去。
如有问题请扫码回复
转载于:https://my.oschina.net/u/1787735/blog/625265
程序开发中那些莫名奇妙的bug相关推荐
- DevOps 在移动应用程序开发中扮演什么角色?
作者 | VARUN BHAGAT 译者 | 火火酱,责编| Carol 封图 | CSDN 付费下载自视觉中国 全球智能手机用户数量已经超过30亿.据估计,未来几年用户人数将增加至数亿人.智能手机用 ...
- 程序开发中的软实力和硬实力
概述:实力是一种客观存在,而霸权不同,霸权的基础虽然是实力,但它更是一种感知,是其他国家对他实力的感知. 一个大国,当然要积累实力,但重要的是通过战略运作,来经营国际社会对你霸权的感知.这个区别有意思 ...
- 鸵鸟算法在程序开发中的应用
鸵鸟算法在程序开发中的应用 什么是鸵鸟算法呢? 在计算机科学中,鸵鸟算法是一个忽略潜在问题的一种算法策略,这种策略对计算机程序可能出现的问题采取无视态度(类似于鸵鸟在遇到危险时将头埋在地里,装作看不见 ...
- 项目的命名规范,为以后的程序开发中养成良好的行为习惯
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 一.包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 1.s ...
- 关于微信小程序开发中遇到的缺少game.json问题的解决
关于微信小程序开发中遇到的缺少game.json问题的解决 参考文章: (1)关于微信小程序开发中遇到的缺少game.json问题的解决 (2)https://www.cnblogs.com/ygxd ...
- 解决微信小程序开发中wxss中不能用本地图片
微信小程序开发中wxss中不能用本地图片,我们可以用将我们的图片传到服务器上,然后直接引用在线地址.但是当我们没有服务器时,我们可以用"图床",这个具体可以百度.这里我们用第二种方 ...
- 程序开发中 status 还是 state
对比: 程序开发中,两个都解释为状态: status表示关联状态的转变,例如[账户]的正常.冻结.删除: state表示非关联状态的转变,例如[枚举]: 参考: 程序代码中,怎么区分status和st ...
- 公开课发布:《SQL开发中容易被忽略的BUG》by郑老师
特邀嘉宾 郑老师 知数堂<SQL优化>课程讲师 资深数据库工程师 对SQL优化有独到见解 7年SQL开发和调优经验 现任职韩国法院数据中心从事数据库技术支持 原SKC&CSheny ...
- SQL开发中容易被忽略的BUG~
周四见 免费公开课系列 We,知数堂 习惯用实力介绍自己-我们只分享干货 重磅福利来袭 2018年4月19日,20:30-21:30 周四见 不见不散! 主讲嘉宾 郑 老 师 知数堂< ...
最新文章
- 南京大学教授施斌及其团队—— 光纤变“神经” 大地能感知
- C# 如何用代码触控件的事件
- 模拟实现EXT2文件系统
- python里元组和列表的共同点和不同点_Python元组与列表的相同点与区别
- 行为设计模式 - 命令设计模式
- html原文档流样式,html之样式
- 主席树【bzoj3524(p3567)】[POI2014]Couriers
- H3C设备运行状态查询常用命令
- cv::Mat ptr 和 at 注意事项
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...
- leetcode 7. 反转整数(python3)
- Sass:@error
- 在excel中数字比对_Excel数据比对,多种方法总有一个适合你
- 好的软件测试的简历是什么样的?
- 关于开发板ping不通主机,360安全卫士阻拦
- 什么是EOS智能合约
- window 下DOS命令
- python创建一个文本文件、包含10行字符串、每行字符串由_Python2:使用正则表达式从文本文件中提取整行,子字符串来自anoth...
- POJ2395 Out of Hay - Kruskal算法
- mp3 文件专辑封面 一点点知识