在 GitHub 中提 issue 的艺术

前言

今天是一年一度上京赶考的日子,也是我的生日,趁今天总结一下提 issue 的一些技巧。

从接触到代码托管开始,就注意到在平台中有 issue 的选项卡,刚开始并不会利用这个功能。直到自己也在 GitHub 发布了一些小项目,陆续接到一些 issue,发现这个功能真的是挺不错的。

总的来说,issue 是一个可以与其他开发者沟通的一个桥梁。有的人在 issue 中接收项目的改进意见,搜集问题,有的人将 issue 作为项目笔记,有的人甚至将 issue 作为个人博客的评论功能。

不管如何,在这里,都能跟其他有相同需求的开发者展开讨论,有利于自己项目的完善。

提 issue 需要注意的一些问题

issue 作为一个开放的平台,接受任何人对自己的项目提出改进性建议,以及 bug 反馈。

但是,在开发者处理 issue 的时候,通常会遇到一些欲哭无泪的反馈。有一些小白用户总喜欢遇到一些小事就开始向项目开发者提出一些莫名其妙的问题。

总结一下,通常有以下几种情况:

伸手党与懒汉党

这类人注意了,开发者在开源界共享自己的项目,完全是由于自身喜好,出于义务去做这件事,没有要求任何回报。有的人在使用别人项目的时候,不但没有任何感激之情,还提出各种无理的要求,有任何问题都轰炸式的提出,要知道,很多开发者工作是很忙的,在工作之余来处理这些问题和完善自己的开源项目,回答你那些弱智的问题并不是义务。

-->

不阅读开发文档

这种人往往不会进行深入研究和思考,只是为了满足自身项目需求,到 GitHub 中找寻一些看起来还不错的项目,然后安装到自己的项目中,结果发现一些本来很不应该出现的问题。通常情况下,开发者都会撰写一份开发文档,如何安装如何使用,以及遇到一些常见问题的解决方案。然而很多人在使用的时候是不会仔细阅读开发文档的,明明文档中都有说明。

比如下面这个问题,开发文档中提到了可以使用 AlgoliaSearchBox 进行全文搜索

基础薄弱型

很多项目是需要一些基础知识的,项目中通常会要求使用者具备一些基础知识再来使用这些项目,很多小白用户在使用的时候,一些本来不属于项目问题的一些基础知识来向你提问。当然,很多小白很有礼貌,但是,请在提出 issue 之前仔细思考,什么是自己思考就能得到解决的。

无聊的问题

有些人就是那么无聊,我曾经在 Vuepress 项目中看到那么一个 issue:

提问的语言

在 GitHub 中,很多项目都是外籍人员参与开发的,不排除项目是中国人创建的,但是最终参与开发的很多都是外籍人士。在提问的时候注意自己提问的语言,为了大部分开发者都能看得懂,尽量使用英文。如果项目是中国人开发的个人项目,这倒不是什么严重的问题。

我英语不是太好,但事实上只要将问题说清楚就行了,而且现在的很多翻译软件都已经很不错了,试着用下。

曾经,我在 Vuepress 的项目中提了一个需求,想着项目是尤老大创建的,就想着用中文怕是也没什么问题,结果开发人员给我发了个黄牌:

提 issue 的一些技巧

问题模板

很多项目提供 issue 的模板,通常情况下按照模板的格式提出 issue,有助于开发者重现问题,以及定位及处理。

提交解决方案

在提 issue 之前,先自己思考一遍,看看有没有什么好的解决方案或思路,不要张口就来,如果实在没有好的解决方案,确定这个问题的确有必要反馈再发起 issue。

比如我在 Vuepress 中提了一个改进意见后,随后提交了我个人的解决方案:

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress | Hosted by Coding Pages