调试了半天,全都是复制代码惹得祸!

简介:

  上次由于一个'\t'让我郁闷了半天,本以为自己已经在debug的时候很小心了,没有想到今天又载了一会。错误非常之低级,而debug费力又还非常之大,真是让人哭笑不得。所以干脆在blog的随笔里专门开辟一个叫"Debug中的滑铁卢"的分类,专门记录Debug时一些stupid的小事。

    其实Coding是挺枯燥的,这个我在说Whidbey的Snippets功能时就说过,而且特别是重复的Coding,更是让人烦躁。但是不管枯燥也好烦躁也罢,还是要写不。这时我们常常也会学学网站编辑,动用动用Ctrl+C & Ctrl+V大法。这不手艺欠佳,今天我就载在这个Ctrl+C、V上了,看来注定当不成网站编辑了(就这追求啊,浪费了我这么多时间看你这么些天瞎摆活了!)。

    今天这个问题其实超级的简单,真是too simple, too young ...,我在GetShowTab()方法前定义了两个方法,我写成这样的:

 DimTreeTab.prototype.ShowMemberTree =  function()
 {
 };

 DimTreeTab.prototype.ShowSearchMember =  function()
 {
 };

 DimTreeTab.prototype.GetShownTab =  function()
 {
      if (  this.m_Panels[0].m_Element.style.display == 'inline' )
     {
          //  . . .
     }
 };

    这时发现这两个函数里面需要用 this.m_Panels[0].m_Element.style.display。好啊,Ctrl+C & Ctrl+V,搞定!

 DimTreeTab.prototype.ShowMemberTree =  function()
 {
     this.m_Panels[0].m_Element.style.display == 'inline' 
     this.m_Panels[0].m_Element.style.display == 'inline' 
 };

 DimTreeTab.prototype.ShowSearchMember =  function()
 {
     this.m_Panels[0].m_Element.style.display == 'inline' 
     this.m_Panels[0].m_Element.style.display == 'inline' 
 };

    改拨改拨,ok了~~

 DimTreeTab.prototype.ShowMemberTree =  function()
 {
     this.m_Panels[0].m_Element.style.display == 'inline' 
     this.m_Panels[ 1].m_Element.style.display == ' none
 };

 DimTreeTab.prototype.ShowSearchMember =  function()
 {
     this.m_Panels[0].m_Element.style.display == ' none
     this.m_Panels[ 1].m_Element.style.display == 'inline' 
 };

    运行起来完全没有效果,由于对DHTML中的element引用关系比较复杂,老是觉得可能是没有引用到正确的element,就在this.m_Panels[n].m_Element里查啊查啊,查到花儿都谢了,还是没有查到问题。最后都调试成这样了:

DimTreeTab.prototype.ShowMemberTree =  function()
{
    alert( this.m_Panels[0].m_Element.outerHTML);
     this.m_Panels[0].m_Element.style.display == 'inline';
    alert( this.m_Panels[0].m_Element.outerHTML);
    alert( this.m_Panels[1].m_Element.outerHTML);    
     this.m_Panels[1].m_Element.style.display == 'none';
    alert( this.m_Panels[1].m_Element.outerHTML);    
};

DimTreeTab.prototype.ShowSearchMember =  function()
{
    alert( this.m_Panels[0].m_Element.outerHTML);
     this.m_Panels[0].m_Element.style.display == 'none';
    alert( this.m_Panels[0].m_Element.outerHTML);
    alert( this.m_Panels[1].m_Element.outerHTML);    
     this.m_Panels[1].m_Element.style.display == 'inline';
    alert( this.m_Panels[1].m_Element.outerHTML);    
};

    才猛然发现,怎么赋值是"=="啊!!!。正确的应该是:

DimTreeTab.prototype.ShowMemberTree =  function()
{
     this.m_Panels[0].m_Element.style.display = 'inline';
     this.m_Panels[1].m_Element.style.display = 'none';
};

DimTreeTab.prototype.ShowSearchMember =  function()
{
     this.m_Panels[0].m_Element.style.display = 'none';
     this.m_Panels[1].m_Element.style.display = 'inline';
};

    可能算不上什么教训,但是还是可以注意几点。Coding的时候,因该:

    打些字;
    查问题先查简单的;
    实在不行了,散散步回来做;
    让team里的哥们给看一下...


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
弹性计算 NoSQL 关系型数据库
晕~阿里云降价了!没买的来看看吧!
晕~阿里云降价了!还没买的来看看吧!2024年最新阿里云降价,立即生效!百款产品直降,平均降幅20%,阿里云希望通过此次大规模降价,让更多企业和开发者用上先进的公共云服务,加速云计算在中国各行各业的普及和发展。这次降价包括云服务器ECS、对象存储OSS、云数据库都降价了,真降价,直降价:百款产品直降,平均降幅20%,阿里云百科分享阿里云2024年降价信息汇总表
学妹跑过来问我为啥Xshell 打不开了,让我帮她处理下【手把手讲解】
学妹跑过来问我为啥Xshell 打不开了,让我帮她处理下【手把手讲解】
学妹跑过来问我为啥Xshell 打不开了,让我帮她处理下【手把手讲解】
|
3月前
|
SQL Cloud Native 关系型数据库
【工具】竟比Navicat还好用,我咋这么不信呢
文章详细阐述了SQLynx的四大重点:1. 什么是SQLynx;2. 如何下载;3. 与Navicat相比的优势;4. 使用方法。SQLynx支持多种数据库和操作系统,具备云原生架构、自动化与智能化功能、团队协作支持等优点。通过实例演示了如何创建MySQL连接并导出表数据,展示了其高效、灵活的特点。希望读者能支持国产软件的发展。
99 2
【工具】竟比Navicat还好用,我咋这么不信呢
|
存储 缓存 数据安全/隐私保护
偶然间发现C盘爆红,几个办法超详细教你轻松解决,电脑小白也不用为此而烦恼!
今天无意间打开“我的电脑”发现作为驱动盘的**C盘爆红**!!!导致自己的血压飙升,在网上查了很多的处理办法之后,苦苦花费数小时之后自己顺利解决,以下方法教你轻松解决“C盘爆红”。**以下方法本人亲测,放心使用****清理和扩容C盘的方法还有很多,我觉得值得注意的是在平时安装软件的时候,要注意对安装路径的选择更改,而不是一股脑的点击“下一步”,这样你的C盘会减小很大的压力! 大家还有什么清理和扩容C盘的好办法呢?欢迎在评论区分享出来 ~ :)**
735 0
偶然间发现C盘爆红,几个办法超详细教你轻松解决,电脑小白也不用为此而烦恼!
|
人工智能 安全 开发者
大家都在吐槽GPT-4变「笨」了,可能是架构重新设计惹的祸
大家都在吐槽GPT-4变「笨」了,可能是架构重新设计惹的祸
|
存储 弹性计算 移动开发
阿里云电脑怎么用?
阿里云电脑怎么用?阿里云无影云电脑即无影云电脑,云电脑如何使用?云电脑购买后没有用户名和密码,先创建用户设置密码,才可以登录连接到云电脑。云电脑想要访问公网还需要开通互联网访问功能。阿里云百科来详细说下阿里云无影云电脑从购买、创建用户名密码和访问互联网全过程
1006 0
1个非常实用的找影视片段的工具神器,赶紧来白嫖!
只需要输入对应的关键词,就能快速找到大量的相关素材,从而大大缩短了我们的搜集时间。
1483 0
1个非常实用的找影视片段的工具神器,赶紧来白嫖!
|
Python
试一试
试一试
|
编解码
还是越界惹的祸-MS抢救记之二
还是越界惹的祸-MS抢救记之二
|
消息中间件 前端开发 JavaScript
阿里云真好使
通过使用阿里云,让我学会了数据库