(如何正确提问)
三、描述清楚你的需求或目的,以及遇到的具体问题是什么。
我见过太多人只发一段代码然后问哪里错了,这样的问题几乎没有有效信息。
1.如果别人不知道你要实现什么,就不知道代码是否满足你的要求。除非你的代码简单到hello world级别,否则总是应该先描述代码的目的。
2.不要只问“哪里错了”,请描述清楚你遇到什么问题。如果是编译时遇到错误,将编译器/IDE的错误信息发出来。如果是运行结果不对或程序意外中止,将你的输入和程序的输出/报错一起发出来。如果是不理解运行结果,将你的疑问说出来。
以下是一些反例:
请教,这次又是哪里出错了呢典型的只有一段代码,然后问哪里错了,于是被下面的吧友训斥了。
·一段代码你要做什么?你遇到什么问题?一问三不知,别人怎么帮你找问题?
四、避免提XY问题
所谓XY问题是指:你遇到了问题X,你觉得Y可能是解决X的最好方式,于是你不提问X反而问Y怎么解决。事实上,X可能有着更好的解决方式,但你不将它描述出来,就没有人能帮助你。回答者反而可能被Y所误导。以下是一个反例:
小明想要获取一个文件的后缀名,他是这样提问的:怎么获取一个字符串的后三位?
(文件的后缀名并不固定为三位,而且操作系统通常提供了相关接口,不需要自己操作文件字符串。)
五、不要手机拍屏幕
如果问题中包含程序图片,请使用屏幕截图,这是对回答者的尊重。手机拍屏幕可能导致反光、模糊不清、摩尔纹、图片竖过来等问题,影响他人的观看体验。并不需要把截图传回手机后再发贴,你也可以直接用电脑网页版发贴。
六、如果你的代码过长,不要以一长串屏幕截图的形式发出
一堆图片给人的观感很差,并且他人无法直接复制你的代码调试。过长的代码请以文本的形式发出。如果贴吧不方便贴出完整的代码文本,可以发到以下代码分享网站:
1. Ubuntu Pastebin
网页链接注册一个免费的Ubuntu账户就可以使用了
2. Compiler Explorer
网页链接点击右上的share就可以分享你的代码了。这个网站不仅可以分享代码,还可以在线执行,查看反汇编,比较不同编译器结果等,建议收藏
当然如果你会用github就更好了(但是github的链接在贴吧容易被吞)。
你可以在上述网站中上传自己的代码,然后将生成的短链接发在贴子里。
七、不要让别人完成你的作业
没有任何自己的思考,直接发题目向别人索取代码,这样的贴子不构成提问,没有任何价值。未来可能会删除这样的贴子。
即便你不会做,也至少说出自己的思考,做过哪些尝试,让别人看到你的态度。