以后遇到问题要这样……

/ java / 3 条评论 / 132浏览

当编程遇到问题时

1:要仔细观察错误的现象。不要随便问人!
不要随便问人!不要随便问人!不要随便问人!

有不少人的手非常快,在编译一个程序的时候,报了一大堆的错误,扫了一眼之后就开始盯着代码一行一行的找,看清什么错误了吗?没有!有的时候安装软件出问题了,一个对话框弹出来说出错了,马上举手问老师:“不得了了,出错了,出错了”。 “什么错误?” “还没看呢?” 这都是典型的不上心的方法!对于老师也是极其不尊重的表现。 在开发中,仔细观察出错信息,或者运行不正常的信息,是你要做的第一件事。读清楚了,才能在以后的步骤中有的放矢,哭了半天,总要知道哭的是谁才成。 这里又分三种情况:

A错误信息读懂了,那么请进入2步:要仔细思考问题会出在哪些环节

B没读懂,愣是一点没看懂,进入第4步吧:baidu(很关键)

C:读了个半懂,有些眉目但是不太能确定,第2步和第4步结合着来。


2:要仔细思考问题会出在哪些环节(重要)

当你读懂了一个问题之后,要好好的思考这个问题可能会在哪些环节上出错。一辆汽车从总成线上下来,车门关不上!哪错了?你怎么查?当然是顺着生产线一站一站的查下来。 程序也是一样的,也是一系列语句完成后产生的结果。 写一个网络程序,总是发现服务器端打印不出接收的数据,有几个环节会出错? 仔细分析这个现象的环节:

这几个环节都有可能会出错:
有可能客户端根本就没产生数据,有可能发送按钮按下去后根本就没发出去,或者发出去的不是你产生的东西,或者根本就没连接网络,或者发送出去服务器没有接收到,或者接收到之前就打印了等等等等。
学着去这样仔细的分析程序的环节和这些环节可能会产生的问题,你的经验值定然会大幅度快速的提升,这样做虽然会很累,但是一件事情如果做下来一点都不累的话,这个东西还有价值吗?
但是,每个环节都可能出问题,怎么才能知道哪里出的问题?继续往下读。

3:如何定位错误(重要)分析清楚有哪些环节之后,下一步就是定位到底什么环节出错了。

定位有以下三种办法: A: 简单打印输出,可以解决一些简单问题。 比如java的System.out.println(),比如js的alert()和console.log(),这种办法常用,必须掌握。 B: Debug,通过调试查看程序运行细节,解决复杂问题。 C: 删掉一部分调试一部分,也就是去掉一部分的功能,做减法、做简化,然后调试剩下的功能,JSP和JavaScript常用。
4:如果还不行,baidu吧

还查不出来?恭喜你,你遇到的错误是值得认真对待的错误,是会影响你学习生涯的错误,问一下google或者百度吧,照着下面的方法查查看。

一般来讲,搜索引擎可以搜到各种知识点,

如何查搜索引擎?

先精后粗,首先先尽量精确的查找 。比如一个错误,SocketException,你怀疑它是在connect()方法出的问题,那么当然是选这样的关键词java connect SocketException先中后英,本着以解决问题为主的想法,练习英文还是先放在一边吧,首先应该在中文网页中查询,还不行的话,搜索英文的吧,最近的尚学堂课程中会带大家阅读英文的书籍。 有很多东西就像一层窗户纸,远看灰蒙蒙怪唬人的,你壮着胆子一捅,它就破了 。阅读英文的书籍就是如此,不是想象中的那么困难:)宁可在沙场上战死,也不能被吓死不是吗?

信息筛选,搜索出来的结果不见得能够完全匹配,建议大家多阅读前几页的搜索结果,多打开几个网页看看,不过,我的经验是超过3页一般就没意义了,所以超过3页还没有找到合适的答案,或许你应该调整一下关键词,或者放粗整个搜索的结果了。

经常的进行知识难点的查询,如果一个问题牵扯的面比较广,就干脆到网上搜索一些相关的专题,比如“java 乱码 mysql”、 “oracle 创建用户”等等,如果有必要,不要犯懒,动手写一些小的测试程序,来弄明白知识点的细节,这也是涨知识的重要途径。

5:什么?还不行?那么就BBS和QQ群吧

如果实在还不行,就到论坛或QQ群上面问一问高手吧。向别人提问是非常需要技巧的!

曾经有人问过我这样的问题:“请问如何才能学好编程呢?”这个问题太泛泛了。
还有人给我一段代码甚至jar包也发过来,然后说老师有个错误您帮我查查:(老师的时间也是宝贵的,没办法花大量时间去调试一个还不知道存不存在的错误!)
还有人在BBS上问这样的问题:“是否有人能帮我完成一个完整聊天的程序?请帮我写一个登陆模块吧!”这个要求有些过分了,有人帮你做真是你的运气,没有人帮你才是正常反应。

向别人提问,首先确定你已经做了自己应该做的事,简单说就是我前面列举的1,2,3,4步你都做过了,然后再求助于人。不要没有经过认真思考就草率的向别人提问,自己也不会有长足进步的。 最后,得到别人的回答,要懂得感恩。不需要去写信感谢,不需要支付费用,不需要那些花言巧语,做到下面这一点就够了:
当你逐步成为高手的时候,尽力回答别人提出的问题,有时间有精力的前提之下!

6:还解决不了?

天哪,是不是思路从根上就搞错了?请教大神吧……
  1. 小伙子我看好你,做的不错继续努力,加油!

    回复
    1. @毕雪莹

      日天还是你秀!

      回复