乱想乱写之如何解决技术问题

今天看到首页中zhuangxuguang2007的一篇博客,提到“遇到技术问题,大家都是如何解决的”,想在下面回一下,不过感觉写的内容对于回复可能会有点多,就开篇文来写一点吧。

一下子想到好几个方面,也分不出哪个比较算是首选,所以将其都列出来,大家自己鉴别首选哪个。

1. 官方文档

现在我们进行开发,一般都是依赖于某种平台或某些工具。官方文档是最标准,也是最权威的回答。同时,也基本是第一手的技术资料。恩,除了内部不公开的API等之外。

对于微软,MSDN基本就算是其官方文档了,同时大家在运用一些新的技术时,注意MSDN的版本,因为有些比如VSTO的变化就有些大,对于2005和2008,里面就有些运用的不同。

对于Java,sun的java doc也是很重要的参考文档,其他对于框架或者另外的java开发平台,其对应的官方文档也是很重要的参考。

这里特别提出一类。上面MSDN和java,提到的资料很多,基本上你不去参考官方文档,在网络上进行搜索,也能得到相关的信息,但是有些比较专业的工具,关于其使用,就只能去看官方文档。此时,可以作为经验的是,去翻其安装目录,将所有相关的目录都看一遍,你应该会发现比公开看到的更多的东西。比如会发现一些工具,一些隐藏的文档等等。 

2. 搜索引擎

作为技术类的搜索引擎,首先的推荐还是Google。尽管百度现在我也使用,但是搜索技术时,我还是习惯使用Google。我使用Google有两个理由,一个当然是Google搜索技术的时候,出现的内容要比百度要多得多。还有一个,我搜索习惯将Google的每页显示结果显示为100项,而百度一般显示是10项(我不知道能不能调整),这样一般我看第一页就差不多能够找到我需要查找的内容了,不需要再另外翻页。

至于搜索技巧,我觉得就是多加关键词吧。其实百度比Google要好的有一个百度知道,我有些答案是从百度知道找的,恩,还有百度百科。感谢群众的智慧 :)

还有就是很多博客中有很多有用的信息,所以一般搜索的时候,我会加上些博客的搜索关键词看看。同时,你找到一个专业博客,可以看一个专题,还可以通过这里链接到很多其他的相同主题网址。 

一般我都是先搜索中文,如果中文没有,那就要上英文了。一般如果英文都没有,那恭喜你,去啃官方文档吧。啃完之后写本书,省得后来人再啃了。一举两得 :) 

3. 专业论坛,新闻组,邮件列表,IRC

关于论坛,当然最好的是收费的了。我曾经查找过很多问题,最终都是到了expertexchange这个网站(应该是这个名字吧),这个网站是对注册人员收费的,而且还很贵。但是如果你真的需要,真的应该是很值。至少我找到的一些问题,搜来搜去应该就是只有这里有答案,但是是隐藏的。。。俺就没有账号啊,所以只能望隐藏心叹。

国内的CSDN的评分制应该就是学的它的,但是人家的评分最后是要折换成美刀的,所以那里的专家还是很值钱的,尤其是Top的。

另外的专业论坛,首推还是官方论坛,比如微软的,就去微软的支持论坛,当然,如果有第三方合作账号,能够直接得到Helpdesk的帮助,那就是最好了,有问题就去找,不用白不用(-_-||,微软的兄弟们不要抱怨哦。。。嘿嘿),又如今天刚有兄弟提到QC,以前mercury的论坛极好,呵呵,其实除了它自己的论坛之外,关于QC,QTP的问题基本也找不到答案了,一般就是几个博客,还有就是官方文档了。不过这也正体现了论坛的作用。。。

这里又要提到英文的问题,一般的专业论坛,比如eclipse的论坛,上面提到的mercury的论坛,sun的论坛等等,都是英文的,所以还是要多看看英文。不是说英语一定要很好,至少遇到技术问题,能够耐心去读英文的这些资料。

除了专业论坛外,新闻组,邮件列表也是信息交换特别频繁的地方,其实我本人觉得比论坛要更好,至少我寻找资料在邮件列表中找到答案的占很大一部分,同时感觉邮件列表上面要比论坛活跃。 

如果你对某个专题感兴趣,可以订阅邮件列表,不过要注意及时清理邮箱,像linux这些活跃的主题,一天几百封邮件很正常。

在国内大家都用QQ,在国外还有一种常用来进行技术讨论的即时聊天工具,叫做IRC。具体了解的人都知道,不了解的Google之,我也就不多说了。(其实我也用得不多,只有真是很急的事,然后上去问,因为这个是即时的,有人知道就直接给你答案了,不像邮件列表有时要等一两天)。 

4. 参考书籍

参考书籍的话,我觉得前提就是你博览群书,知道哪些Topic在哪些书中。

比如你要查Intel汇编语言的知识,你应该知道Intel出了三本PDF,IA32 Intel Architecture Software Developer's Manual,其中可以找到最详细的关于其汇编语言的知识。

比如你要查关于shell的知识,比如你要查关于正则的知识,你都需要知道关于其权威的书籍是什么,怎么得到?这样就事半功倍了。

关于参考书籍,最好就是用于参考的工具书。如果是还要进一步学习的书籍,还是要好好学习,学完之后再作为参考书籍。 

5. 阅读源码 

侯捷说过,“源码面前,了无秘密”,Linus说过,“Read the fuxxing code”。所以搞不懂的问题,去读它的源码吧。如果没有源码,在学习和研究的前提下,反编译,反汇编,DASM,windbg,ollydbg。

另外还有就是,学习开源代码。这个在我前面的文章里面已经提过一些开源的代码了。

现在基本上你遇到的技术问题,开源代码中都有其解决方案。当然,关于优化等,有些并不一定很完美,但是在这个解决方案上面做,还是会省很多时间和力气的。所以,如果真的没有思路,去SourceForge上面看看有没有类似的项目呢~恩,现在还有GoogleCode。(还有几个,比如kcoder等,大家可以Google之,我今天为Google做了多少广告了。。。哎,还没广告费~) 

6. 朋友,同事,同学 and 乐于帮助别人的人

其实这个是最好的,首先这个是最方便的,身边有人为什么不用呢。你听不懂还可以和他face2face的讨论,还可以用笔画,今天想不明白明天还可以继续问,多好。而且,省去你搜索,排查的时间,我是个懒人,如果有人能够问,而且能够讲清楚的话,我是不会再苦苦搜索,还不确定找到的答案是否正确的。

当然,你有时运气不是那么的好,周围不一定都是牛人。或者牛人研究的是其他的技术问题,不是你现在研究的课题。那怎么办。尽管现在社会这样,网上还是热心人多的,而且搞技术的,大家人还都是不错的。找到某个看起来研究你课题的博客(呵呵,因为博客最方便,其实邮件列表中,论坛中也可以),在上面留言。或者,在上面找到该哥们的邮件联系方式(我个人比较喜欢邮件,有些同学喜欢QQ和MSN,或者其他,比如Gtalk,skype,只要能联系就可以),当然,要人家愿意,比如有些哥们,直接在签名中写了,有问题公开在论坛问我,不要发私人邮件给我。那就要尊重人家,不要去打扰人家。

当然,问问题也是要有技巧的。具体可以看《提问的智慧》,以及各个论坛类似的帖子。关键是要言之有物,不要问愚蠢的问题,同时自己也要认真的思考过。这就是另外的话题了。

 

7. 博客

呵呵,忽然想到的,当然你要有讨论的内容,然后在博客中发出来,那在好的博客园地,肯定会得到一些答案的,比如zhuangxuguang2007不就是提出问题,然后我们来回答了吗~

 

大致就是这么多了,也差不多够一篇文章了。 :)

推荐论坛:

国内CSDN比较乱,Donews好久不去了,keso不知道怎样了。博客园现在常来,java方面去javaeye比较多点,C/C++也就看看cu(chinaunix),还有几个linux方面的论坛以前常去,现在基本不太去了,基本遇到问题,google的话就会去到的。VC的话一般vckbase。暂时想不到了,想到再加。 

 

posted on 2009-11-06 21:23  cnyao  阅读(2063)  评论(15编辑  收藏  举报