查看原文
其他

how to bug author

2017-03-20 Y叔 biobabble

这篇文章讲问问题的礼仪,会问问题的人容易得到别人的帮助,并不是作者拽,而是对着一群不会问问题,且一副理所当然的用户,早就有了深深的无力感,也看看我写的这篇吧,

这是前几天的文字推送,不知道大家有没有阅读这两篇博客文?我自己的这一篇将附在文后。如何提问,这是一项重要的技能,很遗憾很多人并没有这项技能!

就在上周,我正好就在微信群里跟某位老师说不要给我个截屏,说能不能在ggtree里实现某功能。懂的人知道,我只是希望大家用正确的方式来做事情,不懂的人,当然觉得我拽,JJYY什么的。

以前暨大有个博士生,跟我QQ和微信上都留言说要学某个R包,快点教他,我没回复,过几天又继续留言,我就把他给喷一顿。港真,都读到博士了,这点道理不应该不懂,要学自己学,遇到问题再来问,唯有下图可以表达我的观点:

UNIX的世界里,那句”read the fucking man”,早有了属于它自己的缩写RTFM,不信你们google一下这4个字母,这里的man是指manual,因为UNIX下查看manual的指令就是man,读文档是非常重要的,很多问题在文档里已经有了答案,但用户就是不愿意花时间去读,在《为什么要开这个公众号》一文中,我也反复在说文档。

最近有人看我博客文,说没有geom_barh,简直日狗了,那篇博客明明就专门介绍了ggstance包,所以我专门贴了XKCD画的RTFM图(下面会有此图),最好他们会脸红!

学术界很多人情商低得很,有问题直接甩作者,还认为作者应该毕恭毕敬地回复。没有任何人有义务要帮你解决问题!没有任何人有义务要帮你解决问题!没有任何人有义务要帮你解决问题!


我在github上设了模版,如果用户提问,就会有向导,像上面截屏这个,他愿意花时间按着我的向导来,我就愿意花时间帮他解决问题。

为什么我要强调看文档?要什么提问前要先google一下?原因很简单,你首先愿意对自己的问题花时间!你自己不愿意花时间,你凭什么要求别人为你花时间!

为什么在上面微信截图里我强调在github开个issue好好描述问题?为什么我在github模版里要强调可重复性例子?你花时间把自己的问题描述情楚,整理自己的代码让别人可以重复出你的问题,这是在节省别人帮你解决问题的时间,也就是说这是在尊重别人的时间!尊重别人也是尊重自己!你的问题更有可能得到解答,别人会更愿意帮助你,即使你的问题很白痴,别人也会本着要对新手nice的态度对待你。而那些不读文档的伸手党,则往往只会得到RTFM四个字母的回xiu复ru。


As an author of several Bioconductor packages. I found many questions from users are quite annoying. Some of them never use google and they are reluctant to read vignettes.

Step 1: make sure you are using the latest release

I found many peoples are using out-of-date packages. When they got an issue of an out-dated package, they never check whether the issue still exists in latest release.

> rvcheck::check_bioc("clusterProfiler") package is up-to-date release version $installed_version [1] "3.0.4" $latest_version [1] "3.0.4" $up_to_date [1] TRUE

Step 2: read the vignettes

All Bioconductor packages contains a least one vignette and some of them are in very details. Most of the user questions can be solved if user go through the vignette carefully.

Step 3: ask google

I received several emails asking why my Bioconductor package is not available when they try to install it using install.packages().

If they google search the package name, they can reach the landing page of the package. Then they will find installation guide of using biocLite().

User question may already have an answer posted in Bioconductor support site, Biostars or somewhere. Just google search it before bugging the author.

Step 4: make a reproducible example

If there is indeed an issue exists in latest release and it is not documented in vignette and google can’t answer it, then you need to make a reproducible example for package author to reproduce your issue.

from ggtree user is a good example. For more details, please follow the advice from or .

Then post the reproducible example on or tag with package name. Disucssion in public forum is useful since it may help other users.

An excerpt from  should convince you to post in community website.

The Bioconductor project is a community project and it benefits from users interacting in public venues. When a user asks a question at the Bioconductor support website, they are providing information that future users might be interested in. That is, the user (U1) is contributing information to the overall documentation around the Bioconductor package they are asking a question about. Ideally, a new user (U2) can then read through the question U1 wrote, check the solution, and move on. This is one of the main reasons why we (developers) want questions to be well documented. There are a couple of quick things that U1 can check that will make their question much more useful to the community.

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存