reprexパッケージの使い方、あるいは羽鳥に怒られる前に知るべき4つのこと
最近、dplyrパッケージのレポジトリにissueを立てようとすると、「reprexよろしく!」と言われます。言われますというか怒られます。怒られる前に、issue templateに書かれていることに目を通しましょう。
これはdplyrにissueを立てようとしたときのスクショですが、書いてあることを見ていきましょう。
質問はメーリングリストかStackOverflowに!
If you have a question, please don’t use this form, but instead ask on the mailing list https://groups.google.com/forum/#!forum/manipulatr or http://stackoverflow.com.
Issueの使い方はレポジトリごとに違うのでややこしいですが、少なくとも羽鳥は質問目的で立てられるissueにあまり寛容ではありません。質問は、メーリングリストかSOに投稿しましょう。あるいは日本語なら、r-wakalangに気軽に聞いちゃいましょう。
reprexを使う!
Please include a minimal reprex.
reprexとは何か。
ググっても出てきません。reprexとは「reproducible example」の略で、Jennifer Bryan氏が作ったパッケージです(参考:Prepare Reproducible Example Code for Sharing • reprex)。
具体的には、以下のように使います。
reprex({1:10})
すると、少し待たされたあとに、Viwerペインに以下が表示されます。
これをどうしろと…という気分になりますが、どこかでCtrl+V(あるいはCmd+V)してみてください。クリップボードに以下の文字列がコピーされています。
``` r 1:10 #> [1] 1 2 3 4 5 6 7 8 9 10 ```
便利ですね。これをこのままissueにコピペすればいいだけです。StackOverflowに張り付けるときはvenue = "so"
を指定しましょう。以下の形のものになります。
<!-- language-all: lang-r --> <br/> 1:10 #> [1] 1 2 3 4 5 6 7 8 9 10
これはこれでけっこう便利っぽいので使っていきましょう。
session infoは含めない!
Do NOT include session info unless it’s explicitly asked for
これ割と引っかかりやすいんですが、なぜなのか羽鳥はissueの報告にsession infoを含めることを嫌います。含めた方が親切だろう、と思いがちですが、怒られます。気を付けましょう。(これはほんとなぜなのか理解できない…)
パッケージ名は{}で囲わない!
あと、これはissue templateには書かれていませんが、某炎上系アカウントがこんなことをつぶやいていました。
パッケージ名を {dplyr} みたいに書く書き方、Rbloggers でもそういう書き方見ないし日本独特のように思えるけど、他人にやめろというのは老害ぽいので日本のコミュニティがガラパゴス化していくのをじっと見守るしかない。
— dichika9999 (@hoxo_m) 2017年3月15日
日本語圏では、パッケージ名は{}で囲む、と思ってしまいがちですが、この記法はグローバルでは通じないらしいので注意しましょう。ふつうにdplyr packageとか書きましょう。
まとめ
_,,;' '" '' ゛''" ゛' ';;,, (rヽ,;''"""''゛゛゛'';, ノr) ,;'゛ i _ 、_ iヽ゛';, お前それ羽鳥の前でも同じ事言えんの? ,;'" ''| ヽ・〉 〈・ノ |゙゛ `';, ,;'' "| ▼ |゙゛ `';, ,;'' ヽ_人_ / ,;'_ /シ、 ヽ⌒⌒ / リ \ | "r,, `"'''゙´ ,,ミ゛ | | リ、 ,リ | | i ゛r、ノ,,r" i _| | `ー――----┴ ⌒´ ) (ヽ ______ ,, _´) (_⌒ ______ ,, ィ 丁 | | |