找到正确的方式才是提升效率的最佳方式

来源:互联网 发布:数据库大数据量处理 编辑:程序博客网 时间:2024/04/27 22:09

给自己挖了个坑,这不,搞到现在才解决,领导就在半小时前离去!

下面是引起这次错误的代码片段:

    private String getFormBID(TicketBean bean){        String html = UrlConnectUtil.getFromHttpsURL(URL_HOME_PAGE);        if(html != null && !html.equals("")){            Document doc = Jsoup.parse(html);            if(doc != null){                String form_build_id = doc.select("input[name=\"form_build_id\"]").val();                Log.d("WhiteHouse","form_build_id = " + form_build_id);                FileUtil.appendToFile(FileUtil.getFilepath(DIR_CATEGORY.CACHE, "form_build_id.txt"),(bean.account +", id = "+ form_build_id + ENTER_LINE).getBytes());                //这里是我犯错的地方,由于之前这部分是没有抽离到这个方法中,所以一直取得是form_build_id;但是因为拷贝的时候,遗漏了,导致了这个代码黑洞                //return form_build_id ;            }        }        return html;    }

重点是上面的注释://这里是我犯错的地方,由于之前这部分是没有抽离到这个方法中,所以一直取得是form_build_id;但是因为拷贝的时候,遗漏了,导致了这个代码黑洞。

往往,我们在改代码的时候,会造成这种致命错误,而你要找到它,真的是要下一番功夫啊!通过F5、F6反复调试模式下,我都没找到原因;自己的手机又是个坑,日志打印只打印了一半,在Logcat上看看不出问题所在;后来,索性把代码,还原回去,发现旧的代码可以用,这里,大致就可以确定,不是网站增加规则引起的;为了进一步证明这个,我还用特地用Fidder进行抓包分析了下,后来,我想到了,如果Fiddler也能抓手机数据包,那不是可以找到原因啦?噼里啪啦,就去Google,参考了这篇博客,Android抓包方法(一)之Fiddler代理
通过抓包,一下子就找到错误所在了,哎,有时候,学会使用工具,真的是能达到事半功倍的奇效啊!

这种例子屡见不鲜啊,怎么才能杜绝了?其实很简单,平时多积累,写代码别太累,多想想旁门左道哈,方法总比困难多,有时候仅仅是一个小小螺丝的失误罢了!当然了,学会抓包分析手段,以及严格进行单元测试,才是王道吧。