大道至简 2008-7-23 10:29
[注意]在本版提问前,请看此贴!
[size=4]主 题: 提问的技巧 [/size]
[size=4]来这里提问都是为了解决问题。首先声明一点,我个人对过于简单的问题来这里求教持反对意见,人首先应该自力更生,别人只能答疑解惑,不能替你做事情。如果什么事情都依赖他人,最终不会使你水平有所进步。遇到的问题是无穷无尽的,而解决问题的手段也是无穷无尽的。如果不努力学会解决问题,那么一旦没有人可以帮忙你就得绝望,所以我建议大家首先要学习好C++的基础知识,其次要学会调试技术(对于调试技术,我会再发帖子)。许多人在提问的时候喜欢说自己没有时间学习、项目比较紧等诸多理由。首先,如果你现在不开始学习,那么以后项目就不紧了?就有时间学习了?其次,既然现在没空学习,你早干嘛去了?所以这些都不成为理由。只有从现在开始努力提高自己的水平,才是正经,这就需要不急于求成,不要指望三天编制出一个优良软件,从最基础的知识开始,学习语言语法,学习数据结构,研究和学习编制优良代码。罗嗦半天,还是回到正题,在本版要想获得很好帮助,必须掌握提问的技巧。[/size]
[size=4]1) 遇到问题首先要根据编译器、调试器提供给你的线索分析,例如,编译器可能会提供如下信息: E:\tt\ttDlg.cpp(176) : error C2086: 'i' : redefinition 很明显,这行信息说,有一个i变量被重复定义了。在显示信息上双击鼠标,系统就会定位到出错行,然后从这里查找错误即可。如果不明白错误信息,则用鼠标选中这个错误信息,按F1查看帮助[/size]
[size=4]2)提问时千万不要进进说“怎么错了”而不说明现象,常见的错误提问方式有: a) 为什么CString不能用啊? 错误:很多东西不是不能用,而是你用错了,你不提供你怎么使用、出了什么错等信息谁能帮你哪? b) 为什么程序在98下能运行,在2000下不行?这样的情况和Debug/Release两种程序不同现象类似,一般是你程序可移植性太差,怎么不能运行?出了什么错误?你不说谁能知道。 c) 为什么定义静态变量错误?既然语法中提供了这个机制,肯定可用,既然你不能用,一定是你写错了,你不说出了什么问题,神仙也难以帮你。[/size]
[size=4]3) 要附带代码,但是别带太多代码附带代码有助于发现问题,但是如果你把整个工程代码都拷上来,估计没有人愿意去挨个看代码并找到错误所在。[/size]
[size=4]4) 要贴出编译器给出的错误信息,而不是你理解后的错误信息因为既然你编错了,说明你理解本身就可能有问题。[/size]
[size=4]5) 运行时错误,要描述错误现象,而不是仅仅说不能用了、出错了等等。因为不能用、出错等现象都是太泛了,程序运行不起来也是不能用、冒异常对话框也是不能用,出现白屏或蓝屏也是不能用。[/size]
[size=4]6) 要及时和回答的人探讨,不要帖子一帖就没后文了。这是对回答你问题的人的最起码的尊重,也能帮助你有效的解决问题。回答的人根据经验能了解问题的大概方面,他们需要一些细节来找到原因,你不及时应对,估计人家也不会找到你的答案。问题解决以后,多说谢谢并说明最终解决办法会使得人家更愿意帮助你。[/size]
[size=4]本站是大家共同的乐园,希望大家在此互相尊重,并得到帮助。希望大家都能为本版出力,希望大家共同进步,我不希望最终出现一些仅仅依赖本站而总没有进步的人。作为一个斑竹,我脾气比较不好,也不是很称职。在此我向所有被我伤害过的人说声对不起,并希望大家在此能够愉快学习,愉快进步,愉快结识朋友,感谢各位支持我和其他众位斑竹的工作。 [/size]
[[i] 本帖最后由 大道至简 于 2008-7-23 10:38 编辑 [/i]]
Beverly 2008-7-23 11:29
说得很有道理啊
探寻结果的过程与获取解答同等重要啊
问问题前首先要用劲自己全力去求解 if搞不定 那就和大家交流吧 发扬团队精神
问问题最好提供尽可能多的信息 警察叔叔办案都要详细了解案发现场状况呢:_012
neallingsnail 2008-7-23 11:45
嗯 有理顶呀