`
jinnianshilongnian
  • 浏览: 21435644 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2405270
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:2997913
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5631611
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:257599
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1593259
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:248994
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5847749
Group-logo
跟我学Nginx+Lua开...
浏览量:698214
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:780564
社区版块
存档分类
最新评论

分享我是如何解决问题的——尊重每一个回答问题的人

 
阅读更多

之前写过一篇《分享我的学习方法——还是坚持+努力》,得到许多朋友的支持,在此感谢下。许诺写这篇文章。写完这篇文章后我就抓紧做《Servlet 3.1规范》的翻译了,希望大家支持,有兴趣的朋友可以站内信我,一起翻译。

 

来iteye快一年了,回答了1000多个问题,有会的,也有不会的,在这我总结一下我的解决问题的思路,供一些刚入行的朋友参考,希望对你们有帮助。

 

献给双11的光棍程序员们,加油吧!

 

 

思考:为什么提问的问题没有人帮忙回答? 

 

精心提出问题

怎么才能提出自己的问题呢?错误信息越全越容易解决。我的观点是:  问题描述、日志信息或异常堆栈信息(如果有)、环境和配置(如果有)、相关代码。

 

问题描述

要力求简洁,一针见血。不要搞些没用的。

 

不好的问题描述:

a、关于springmvc3.0的问题  

b、使用spring注解,测试一直报错

c、Spring3.1问题

d、请问这个attr从何而来?谢谢

e、springAOP代理

f、 该如何解决

g、Mysql 连接错误

 

 

从以上问题描述中我们看不到到底遇到什么问题,更好的问题描述应该:

1、我从描述中可以看出你所用的技术,如spring,这样我可以有选择的解决问题;

2、如果遇到的问题有异常,直接上异常信息,如果经验足够多,这种问题可能一眼就知道是哪里出的问题;

3、如果实在不知道哪里出错了,把一些关键点写到标题上。

 

 

我认为更好的问题描述:

a、配置好SpringMVC拦截器后,JSP不能正常解析,直接原样输出  (这样我知道你使用的技术是什么和大体原因了)

b、使用Spring注解注入时,抛出BeanCreationException           (虽然不知道具体原因,但是我知道BeanCreationException的问题是什么)

c、No Spring WebApplicationInitializer types detected on classpath  (直接把异常贴出来更有效)

d、请问在使用struts2时,那个attr到底指什么  (告诉我你用的技术,缩小范围)

e、[spring] Cannot convert value of type [$Proxy4 implementing com.service.IUserService (从具体的错误栈中找最核心的错误信息作为标题)

f、 直接把异常贴出来不是更好?

g、Access denied for user 'root'@'localhost' (using password: YES)  (直奔主题更好)

 

……等等,把有用的信息贴出来这就足够了,不要用激将法,如没人会吗? 这些没实际意义,还不如好好把问题想明白。

 

日志信息或异常堆栈信息

日志的目的包括如审计、监控、数据恢复等等,因此如果是出错了,就应该把相关的日志找出了,越全越容易找到问题所在。而且尽量用文本,如果量大用附件,尽量不要用图片,与人方便就是于己方便。

 

出问题时,不要这样贴异常:

a、《一个NullpointerException问题》 而且内容中也没有给出具体的描述,只知道空指针,还需要我们回答的人进一步问出在哪一行啊。。。

b、《使用spring注解注入,测试一直报错》,内容中只给出org.springframework.beans.factory.BeanCreationException异常,没有给出详细堆栈,如果能给出详细堆栈,立马就能告诉你问题出在吗?

 

没有详细的信息,问题就不能诊断,神仙也帮不了你。

 

环境和配置

环境包括:如系统环境(操作系统是什么等)、项目环境(是普通Java工程还是动态web工程,eclipse开发还是myeclipse)、技术环境(如使用了哪些技术)。

 

配置包括:如常见的web.xml、spring的配置文件,struts2的配置文件等等。

 

在提问时把使用的环境和相关配置贴出来能做到事半功倍的效果。当然有时候不是必须的,但贴出来更能帮助找到问题。

 

《jbpm4 有谁碰到这个奇怪的问题吗?!!!》 ,异常是贴出来了,如果它告诉我使用的技术环境,如hibernate4+spring3+jbpm4,我立马就能知道原因。

 

相关代码

如果是代码出错了,就应该把相关代码贴出来,而不是说有错误,而又不告诉别人是哪些代码出错了,这样谁也帮不了你。

 

 

先试试自己能不能解决

大部分问题,经过自己的探索都能解决。一上来连思考都没思考,就直接追着别人问,这种行为是不好的,可以按照如下步骤做:

1、先看看遇到的错误之前见过吗?如果见过回忆下之前是怎么解决的。如果像我这种记忆力不好的,可以做个文档记录下来,下次遇到再查一下;

2、查阅相关技术文档,如JDK文档、Spring文档等等,看看具体错误指的是什么,文档中有没有解决方案,此步骤你大体应该能知道是什么错误;

3、还是搞不定,那就搜索(查技术还是用google),查的时候记住关键词是:【使用的技术 问题】,如 【spring No Spring WebApplicationInitializer types detected on classpath 】、【Access denied for user 'root'@'localhost' (using password: YES)】、【java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor】,像这些问题只要你动动手搜索下很快就解决了,对于一些不常见的问题反复多查几次,不要只查一两下就放弃,坚持才能胜利;

4、还搞不定那就寻求帮助,如问答频道咨询,或者到相应的群组咨询,更或者直接给某人发站内信咨询。

 

记住,别人没有义务帮你,尊重帮助自己的人;不要不劳而获,要学会自己试着去解决,慢慢的大部分问题你都能解决(我接触的很多问问题的,比如上午问,我下午才看到,问下说已经解决了)。

 

常见的错误:

java.lang.NullPointerException:空指针异常,最常问的异常,遇到此异常一定说明有个空指针,如a.test(); 肯定说明a是null,这种问题问的实在太多了。思考下很容易解决的。细心点即可。

java.lang.ClassNotFoundException:类没有找到,一般是所需要的类不在classpath或类名写错了。

……,这些错误只要细心肯定能解决,让我们更加细心起来。

java.lang.NoClassDefFoundError: 只要动动手搜索一下,答案立马出来。

 

搜索,记住可以搜索类似问题,要学会触类旁通。

 

 

真诚而有效的寻求帮助

直奔主题,别搞什么『大神、高手、菜鸟求助』等词吸引眼球,好问题自然有人愿意解决,不愿给你解决的问题说明之前有人已经遇到过了,自己去查查肯定能解决。

 

把错误相关信息贴全,可以参考下《ITeye提问的智慧》,然后直奔问答频道问问题吧,好多热心人都在等着你的问题呢。

 

总结为什么

弄明白一个问题,尤其是别人帮你解决的,尽量记录下来,方便以后查阅,也方便其他人出问题查阅。

对于一些经常遇到的问题,一定要知道所以然,不要仅仅解决了就完事了,解决了只是个开始。

 

会学习的和不会学习的很大的区别我认为是 问为什么!

 

 

我的一点忠告

1、你的问题别人没有任何义务帮你解决,学会感恩,不管别人回答的对还是错;

2、不要提『蠢问题』,即遇到问题后立马问别人要解决方案,这样你会天天有很多同样的解决不了的问题;

3、不劳而获可耻,作为一个程序员没有试着去解决自己的问题就提问我认为是很可耻的,而且对自己发展是不利的,学会独立解决问题;

4、要思路不要代码,这样我们学到的更多,自己的事情自己做,当然有时候代码能让思路更清晰,思路为主,代码为辅;

5、不是问题解决了就完事了,试着做个总结方便后人查阅,而且对于一些经常出现的问题要知道为什么错了;

6、『取精华弃糟粕』,从别人的回答中提取有用的,不要一股脑的接受,自己要有分辨能力;

7、『兼听则明,偏信则暗』,学会独立思考,对于有些拿不准的答案要多方咨询保证其正确性,时刻保持怀疑;

8、『书上就是那么写的?』等,权威?没有绝对的权威,有人不犯错误吗?理论指导实践,但实践才能出真知!不要死学习,有时候适当的改变思路,不一定跟书上的一样。

9、『我和书上写的一模一样,怎么结果不对呢?』等,这是傻学,尤其计算机这东西,如果环境不同或有些配置不同可能出现的结果完全不一样,要活学活用,书本上的知识是用于借鉴的,不是照抄的。

10、喜欢遇到问题和解决问题,这就是经验,解决问题越多经验就越多!经验是靠问题堆起来的。不要怕丢人!

11、出问题先找自己的原因,不要抱怨,很多时候的错误都是粗心造成的。

12、出错必有原因,别给自己理由,比如『我本机就行,一到服务器就不行,想想自己是不是忘了哪个东西没部署』。

 

PS:以上是个人观点,如有错误希望不吝赐教。

 

为什么提问的问题没有人帮忙回答? 大部分原因是之前他们解决过类似的问题,而这些问题通过自己简单的摸索就能解决。

 

回答别人的问题的同时其实也是自己能力的提升,参与进来,学到的更多。

 

让我们来问答频道发现我们喜欢的问题并解决掉它们吧!传送门》》》

 

 

 

给广大宅男的媳妇省钱的一个应用 

讨好女生的手机应用:

1、淘宝精选女装团购应用,2折起:爱团http://www.myapp.com/downcenter/a/103786 

2、屌丝步入女神的生活利器 ,我也经常用,因为有不少喷血美女模特:穿搭志http://www.myapp.com/downcenter/a/619655

 

51
5
分享到:
评论
48 楼 xjqxz 2015-11-11  
又是一年双十一,上学没好好打基础,参加工作没有有经验的人带,出现的问题几乎都靠百度、论坛和企鹅群,很感谢曾经帮助过我的人们,希望有一天,我也可以去解答别人的问题。
47 楼 qq262549820 2015-05-04  
  
46 楼 shuili8002512 2014-05-09  
给128个赞  赞  赞  、、、、、、、、、、、、、、
45 楼 本兮挚爱桃子 2014-04-21  
感谢你分享这么多经验 和 人生中的道理。
44 楼 chaliszhou 2013-07-23  
注意身体。坚持锻炼。
43 楼 qunianshilongnian 2013-05-17  
老师你越来越靠谱了
42 楼 chenzhou123520 2013-05-09  
楼主在iteye确实很热心啊,曾经也帮助我解决过几个问题,非常感谢,这篇文章总结得很好,值得很多人借鉴。
41 楼 xurichusheng 2013-04-10  
想想当年自己在一家企业培训时,老师就告诉我们,遇到问题首先要自己想办法解决问题,如上网查、看书等等。如果还解决不了,这时才应该去问同学或同事。

当年我是这么做的:
1. 打开金山词霸,遇到看不懂的单词,就一个一个翻译,这样,异常信息就大概清楚了;
2. 如果还不清楚异常信息,那么就把关键的异常信息(通常是一句话)复制到网上查(google或者百度)
3. 找到异常信息中,我们自定义的类,点击进入这个类;
4. 结合异常信息和代码,看看问题出在哪儿;
5. 如果还不清楚的话,这时候就应该问同学或者同事了;
6. 在别人帮你解决问题的时候,一定要看清楚他解决问题的步骤,有什么不懂的就问。

其实步骤很简单了:自己弄懂异常信息-->自己解决问题-->请教


这是当年还是个菜鸟的时候,解决问题的方法了。

希望能和各位共勉。

40 楼 zhoulei984623 2012-12-14  
朋友我发你的短消息,能帮我分析一下吗?
39 楼 zz13203778855 2012-12-06  
不错,继续关注
38 楼 jinnianshilongnian 2012-11-22  
aniyo 写道
总结得很好,来了下iteye,觉得自己还是该坚持,继续总结,现在的工作都没了这份积极性了。主要是现在的工作给以前的差别有些大,C/S框架,公司自己的一套框架。很复杂,从头到尾,做项目的,包括分析的SA,都没有几个弄清楚过的。大家都是模模糊糊的。哎

嗯 得学明白
37 楼 jinnianshilongnian 2012-11-22  
天色天空灬 写道
以前很少看iteye 自从看了你的博客就常来了。。。继续关注,加油。

谢谢
36 楼 天色天空灬 2012-11-22  
以前很少看iteye 自从看了你的博客就常来了。。。继续关注,加油。
35 楼 aniyo 2012-11-20  
总结得很好,来了下iteye,觉得自己还是该坚持,继续总结,现在的工作都没了这份积极性了。主要是现在的工作给以前的差别有些大,C/S框架,公司自己的一套框架。很复杂,从头到尾,做项目的,包括分析的SA,都没有几个弄清楚过的。大家都是模模糊糊的。哎
34 楼 jinnianshilongnian 2012-11-15  
henghanan 写道
问答频道很多人不结贴的,久了完全没积极性。。。

可以考虑均分 哈哈哈
33 楼 jinnianshilongnian 2012-11-15  
henghanan 写道
问答频道很多人不结贴的,久了完全没积极性。。。

也是
32 楼 henghanan 2012-11-15  
问答频道很多人不结贴的,久了完全没积极性。。。
31 楼 jinnianshilongnian 2012-11-14  
ASTER1111 写道
最狠这样提问的人
提出一个问题,还没人给出答案,就自己回复一个“已经解决了”
但是又不给出解决方法或者问题所在
让遇到相似问题的人抓狂啊

  是的,建议解决了人 把答案给出了
30 楼 ASTER1111 2012-11-14  
最狠这样提问的人
提出一个问题,还没人给出答案,就自己回复一个“已经解决了”
但是又不给出解决方法或者问题所在
让遇到相似问题的人抓狂啊
29 楼 luckilygenius 2012-11-13  
支持一下   刚来这个论坛

相关推荐

Global site tag (gtag.js) - Google Analytics