对一种常见BUG的思考
来源:互联网 发布:js 设置焦点到input 编辑:程序博客网 时间:2024/04/29 19:33
我们在编程过程中经常会遇到一对相反的操作逻辑,如是Encode、Decode(编码和解码),Encrypt、Decrypt(加密和解密),Serialize、Deserialize等等。
我发现当这两个单词是一样长且形状相似的时候特别容易看错,如Encode和Decode,不仔细看还真看不出来有什么区别。而两个单不一样长或是形状不相象时就不容易看错了,Serialize和Deserialize就很少会看错。从心理学的角度来说,当我们在编程过程中,浅意识中我们会通过单词的轮廓来识别不同的单词。如果两个单词的轮廓比较相似的话就很容易认错。
以上提到的Encode、Decode是容易看错的单词,而Save和Load确不容易看错,因为这两个单词的轮廓差别比较大。但是当Save和Load放到其实单词时的时候情况又会发生变化,例如onSaveSuccess和onLoadSuccess,这是看错的可能性就会比单独的Save和Load大的多,因为单独的Save和Load中,这两个单词可以给人留下差别较大的轮廓。而onSaveSuccess和onLoadSuccess就不这样了,这里Save和Load的差别不足以人留下差别较大的轮廓。
这种问题最直接的影响就是使程序产生BUG,本来该调用Encode的地方确调用了相反的操作。如果软件界面就也有这样的操作则会让用户执行误操作,想想如果执行的相反的操作后果是多么可怕的呀。
要避免这样的问题,就要避免轮廓相似的符号,如Encode和Decode我把它们写成Enc和Decode、把onSaveSuccess和onLoadSuccess写成onSaveOk和onLoadSuccess,两个符号的轮廓差别很大时,我们基本就不会认错啦。
- 对一种常见BUG的思考
- 对连连看一种算法的分析与思考
- 对游戏中出现的BUG和外挂的思考
- 今天对bug调试的一点思考和总结
- 对思考的思考
- 修复bug的思考
- Bug的价值的思考
- 浏览器常见的BUG
- c++常见的BUG
- eclipse常见的bug
- 常见bug的分类
- 常见的一些bug
- 对无效思考的思考
- 一种bug的check方式
- 一个BUG引发的思考
- Flash,一次Bug的思考
- 关于减少BUG的思考
- 关于修改bug的思考
- 《数学的美与理》笔记
- WEB应用程序中的进度条
- 从零开始 教你如何搭建Discuz!4.1论坛(图)
- 调试Win32 Service
- 【asp.net】单文件上传的用户控件
- 对一种常见BUG的思考
- ASP学习笔记(4)--vbscript和javascript的混合使用
- DLL的调试
- 进程间的通讯实现(IPC)的11种方法
- 在本地稳定访问某一站点
- 日积月累
- 冒泡算法
- 鼠标感应渐显图片
- 聖殿祭司的ASP.NET 2.0--使用C# /2e小改版