github怎么提问

1. 引言

在学习开源项目时,我们会遇到各种问题,需要向项目的维护者或其他热心的开发者寻求帮助。然而,我们提问的方式和问题的质量极大地影响到问题得到解决的速度和质量。本文将介绍如何在Github上提出问题,并提供一些撰写高质量问题的建议。

2. 搜索已解决的问题

2.1 搜索引擎

在发起一个问题之前,我们应该先使用搜索引擎,例如Google或Bing等,搜索是否已有相同或相似的问题。通常,已经有人遇到了和我们类似的问题,并且已经在其他网站上得到了解答。这个过程能够避免我们重复问已经解决的问题。

搜索引擎示例: https://www.google.com/

2.2 项目仓库的Issues

在 Github 项目页面的顶部导航栏中选择 Issues 页面,可以搜索是否已有相同或相似的问题,或者查看之前解决的问题。同时,这里也是向维护者反馈bug或提出建议的具体位置。

GitHub Issues 示例:https://github.com/ansible/ansible/issues 

3. 提出问题

3.1 在正确的仓库中提问

通常情况下,我们需要将问题提交到正确的项目仓库中。如果我们向一个错误的地方提交了问题,维护者可能会忽略我们的请求,或者回复我们并引导我们到正确的位置。

3.2 简单明了地描述问题

在标题中简洁地概括问题。在问题描述中明确描述我们遇到的问题及表现。包括异常报错信息或控制台截图,以及出现问题使用的环境和库的版本信息。

有效的问题描述应该包括以下示例(其中可选项用方括号表示):

问题已经做了什么,包括其目的、其期望实现的行为以及你所期望的结果。例如:“我想创建有多行文本的议程条目,但是一旦我添加了多一行,页面就崩溃了。”

实际发生了什么,例如“当我尝试添加多行文本时,控制台抛出了 TypeError "addInput is not a function" 的异常错误。

[可选项]你已经采取了哪些步骤。例如:“我在 Stack Overflow 中搜索了这个问题,但是没有找到一个适当的解决方法。”

[可选项]你在使用什么操作系统、浏览器以及所使用的依赖项的大致版本。

同时应该避免在问题描述中出现无关的信息和详细的背景,这会让问题描述变得混乱不堪。应该保持描述简洁、明确。

3.3 提供精简的代码示例

如果问题涉及到特定的代码行为或代码块,应该提供一个帮助其他人重现问题的简洁代码示例(称为最小化的、完整的可运行示例)。请注意,这个代码示例应该是精简的、能够重现问题的示例,而不是主要文件或应用。

示例代码应该在代码块中格式化,并且应该将代码示例和其他描述分开。

示例代码

示例代码block

3.4 回答遵循问题的实质

我们应该能够简明扼要地回答问题中的具体问题。同时应该避免回答询问,并且应该有耐心、友好地与提问者沟通并提供引导。

请注意,问题可能没有明确的答案,或者答案并不是黑白分明的。在这种情况下,尽力提供一个引导,让提问者能够向正确的方向思考并解决他们的问题。

4. 总结

如果我们希望得到高质量的解答,我们应该学会如何有效地提问。在提出问题之前,我们应该搜索是否已有类似的问题,并避免在错误的仓库或者论坛中提交问题。细致、精简、友好、耐心是正常交流的标准。同时,我们也应该参与到社区中,分享我们的原创经验和知识,为社区做出贡献。