学编程遇到问题,如何更好地提问?

2023-08-29 14:50:33 浏览数 (1)

大家好,欢迎来到 Crossin的编程教室 !

一个编程学习者,尤其是刚入门的初学者,在学习过程中必然会遇到各种问题,于是难免需要向人提问寻求解答。本编程教室开张以来,我也解答了非常多的提问。今天想就“提问”这件事情说说我的一点建议:

1. 提问之前先尝试搜索

你的问题可能是千万人曾经遇到过的小问题,搜索引擎就可以回答你。

2. 尽可能清楚、准确、完整地描述你的问题

不要只把你不懂的地方拿出来问而不提及问题的前因后果,否则回答者可能无法明白你的问题。尽量客观描述问题,而不是只说自己的理解和假设。在客观描述的基础上,你可以再加上自己的判断和尝试解决的结果。

3. 附上必要的信息

如果你的代码出了问题,请提供你的代码、运行结果、报错信息,如果有必要,最好截图(判断是否格式、书写、运行方式上有问题)和代码文本(方便别人复制并运行你的代码)都附上。不要只说“我执行了xxx语句为什么结果不对”,这样别人只能回复你“……”。

4. 最好选择聊天群和论坛提问

这一点是我个人针对本教室的听众的建议。聊天群的好处是,有很多人会看到你的问题,这里面很可能有人解决过类似的问题。即使没有现成的答案,一起讨论也有利于找到解决方案。

论坛的好处是,你的问题会记录下来,可以被更多人看到,它被解答的可能性也就更高。同时,它也会为后来的人提供参考。论坛发帖的不足之处在于可能不会立刻得到解答。

综上所述,我认为一个比较好的提问方式是:在你尝试自己搜索后依然不能解决问题时,在聊天群里或者论坛上描述清楚你的问题,包括你要做什么,遇到了什么状况,你的代码、输出、报错信息,足够信息量的截图和代码片段,你尝试过的方案和结果。这样,会让你的问题更有效地得到解决。

附上一篇文章:《提问的智慧(How To Ask Questions The Smart Way)》,由知名黑客 Eric S. Raymond 所写,并被广泛转载。你很容易在网上搜到它。

这篇文章主要是面向“黑客”所说。对于一般的编程初学者,有些要求可能略苛刻。不过参考阅读,对于你应当会有帮助。毕竟没有人会一直停留在初学者的阶段,好的习惯越早养成越早受益。

在这里,摘录其中的一些条目:

提问前

尝试在你准备提问论坛的历史文档中搜索答案

尝试搜索互联网以找到答案

尝试阅读手册以找到答案

尝试阅读“常见问题文档”(FAQ)以找到答案

尝试自己检查或试验以找到答案

尝试请教懂行的朋友以找到答案

如果你是程序员,尝试阅读源代码以找到答案

提问时

仔细挑选论坛

面向新手的论坛和互联网中继聊天(IRC)通常响应最快

第二步,使用项目的邮件列表

使用有意义且明确的主题

使问题容易回复

用清晰、语法、拼写正确的语句书写

使用易于读取且标准的文件格式发送问题

描述问题应准确且有内容

量不在多,精炼则灵

别急于宣称找到bug

低声下气代替不了做自己的家庭作业

描述问题症状而不是猜测

按时间先后罗列问题症状

描述目标而不是过程

别要求私下回复电邮

提问应明确

关于代码的问题

别张贴家庭作业式问题

删除无意义的要求

不要把问题标记为“紧急”, 即使对你而言的确如此

礼貌总是有益的

问题解决后追加一条简要说明

提问禁忌

我到哪可以找到某程序或 X 资源?

我怎样用 X 做 Y?

如何配置我的 shell 提示?

我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文档转为 TeX 格式吗?

我的{程序、配置、SQL 语句}不运行了

我的视窗电脑出问题了,你能帮忙吗?

我的程序不运行了,我认为系统工具X有问题

我安装 Linux 或 X 遇到困难,你能帮忙吗?

我如何才能破解超级用户口令/盗取通道操作员的特权/查看某人的电子邮件?

0 人点赞