How to ask a good question on StackOverflow All In One

发布时间 2023-08-28 15:49:25作者: xgqfrms

How to ask a good question on StackOverflow All In One

在 StackOverflow 上如何提出一个好问题

我们很乐意为你提供帮助,但为了提高你获得答案的机会,请遵循以下一些准则

image

确保你的问题切中主题并且适合本网站

Stack Overflow 仅接受有关编程软件开发的某些类型的问题,并且你的问题必须用英语撰写。如果你的问题不切题不适合本网站,那么它可能会被关闭

结束并不是问题之路的终点;而是问题的终结。它旨在成为一个临时状态,直到问题得到修改以满足我们的要求。但是,如果你不这样做,或者不可能这样做,那么该问题将保持关闭状态并且不会得到回答。

既然你正在阅读此页面,希望你从一开始就发布一个合适的、切题的问题,从而消除关闭和重新打开过程的需要!

搜索和研究

在发布问题之前,我们强烈建议你花合理的时间研究问题并搜索本网站上可能提供答案的现有问题。(Stack Overflow 已经存在很长时间了,许多常见问题已经得到解答。)

确保记录你在研究时发现的内容,即使它没有帮助!如果你最终无法在本网站的其他地方找到问题的答案,
然后包含相关问题的链接(以及为什么它们对你的具体情况没有帮助的解释)将有助于防止你的问题在你最终提出问题时被标记为重复

写一个总结具体问题的标题

标题是潜在回答者首先看到的内容。如果你的标题不有趣,他们就不会阅读其余的内容。此外,如果没有好的标题,人们甚至可能无法找到你的问题。所以,让标题有意义

  • 假设你正在与一位忙碌的同事交谈,并且必须用一句话总结你的整个问题:您可以提供哪些详细信息来帮助别人识别并解决你的问题?包括任何错误消息、关键 API 或使你的问题与网站上已有的类似问题不同的异常情况。

  • 不要在标题中包含标签。系统会自动将最重要的标签添加到你的标题中,以达到搜索引擎优化的目的。你不需要(也不应该)手动执行此操作。如果你想包含语言/库/框架/工具的名称,请使用常规英语,而不是作为括号标签。

  • 如果你在总结问题时遇到困难,请最后标题- 有时,先写问题的其余部分可以更轻松地描述问题

例子:

  • 坏 ❌: C# 数学混乱
  • 好 ✅:当我的所有输入都是整数时,为什么使用 float 而不是 int 会给出不同的结果?
  • 坏 ❌: [php]会话疑问
  • 好 ✅:如何根据 PHP 中的会话数据将用户重定向到不同的页面?
  • 坏 ❌: android如果有其他问题
  • 好 ✅:为什么当 str 设置为“value”时,str ==“value”的计算结果为 false?

在发布任何代码之前先介绍问题

在问题正文中,首先扩展标题中的摘要。不要直接跳到代码!提供一些背景上下文信息通常很有帮助,用文字描述问题几乎与用代码描述问题一样重要。

解释你是如何遇到你想要解决的问题的,以及阻碍你自己解决问题的任何困难。你问题中的第一段是大多数读者会看到的, 第二件事,因此请使其尽可能引人入胜且信息丰富。你想给人留下良好的第一印象

帮助其他人重现问题

并非所有问题都可以从包含代码中受益,但如果你的问题与您编写的代码有关,则应该包含一些代码。但不要只是复制整个程序!如果你发布雇主的代码,这不仅可能会给您带来麻烦,而且可能包含许多不相关的细节,读者在尝试重现问题时需要忽略这些细节。以下是一些准则:

包含所有相关标签

尝试包含你的问题所涉及的语言特定 API 的标签。如果你开始在标签字段中输入内容,系统将建议与你输入的内容相匹配的标签 - 请务必阅读为它们提供的描述,以确保它们与你提出的问题相关!

如果你的问题涉及特定版本的语言、库和/或 API 中的问题,你可能需要添加特定于版本的标签,例如[python-3.8]。如果你确实使用特定于版本的标签,请确保还包含主要的非特定于版本的标签(例如[python])。

另请参阅:什么是标签,我应该如何使用它们?

发帖前请校对

现在你已经写完了问题,请深呼吸并从头到尾通读一遍。假装你是第一次看到它:它有意义吗?没有你所有背景知识的人能理解它吗?尝试在新的环境中自己重现问题,并确保你可以仅使用问题中包含的信息来重现问题。添加你错过的所有详细信息并再次通读。重新阅读你的标题,并确保它简洁准确地描述了问题。

另外,拼写语法标点符号也很重要!如果你不习惯用英语写作,请请人为你校对。

发布后回复反馈

发帖后,不要跑得太快——将问题在浏览器中打开一段时间,看看是否有人发表评论。如果你错过了一条明显的信息,请准备好通过编辑你的问题以将其包含在内来做出回应。如果有人发布答案,请准备好尝试并提供反馈

有时,你可能会发现自己对这些评论感到沮丧。也许他们提出的建议你已经尝试过。也许他们完全误解了你的问题。尽量不要感到沮丧——阅读和评论你的问题的人通常都提供帮助!将这些类型的评论作为如何改进您的问题的建议。请记住,你可以随时编辑您的问题!(如果有人确实留下了粗鲁或不相关的评论,请将其标记以引起版主注意,以便将其删除。)

寻求帮助

尽管您付出了一切努力,你可能会发现你的问题没有得到很好的回应。不要绝望!学会提出好问题是一项值得追求的事情,而不是一朝一夕就能掌握的。以下是一些你可能会觉得有用的其他资源:

demos

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs

https://stackoverflow.com/help/how-to-ask



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!