質問: 5 年前、英語版 Stack Overflow へデバッグの質問をする場合のガイドラインを書き始めました。元々人気だったガイド「短く、自己完結した、正しい(コンパイルできる)サンプルコード」の著者である Andrew Thompson によって叩き台が作られ、何年かに渡った修正・更新が加えられた結果、質問者に人気のある、効果的なガイドラインが生まれました。 最近になって、Stack Overflow には新しく Ask Question Wizard が導入されました。そして、Wizard に対する要望として最も多く寄せられるのは「MCVE を作るよう促してください」というものです。これは全くその通りで、我々も Wizard の準備中にいくつかアイディアを考えていました。このため、この頃 the Community Team は MCVE にこの機能を付けるための方法を模索していました。 ......そしてすぐ、我々はよく知られた問題にぶつかったのです。 MCVE という名前は扱いにくい ---------------- このタイトルを略さずに言うと長いですし、略したとしてもやっぱり長いです。私はこのことをすぐ後悔したのですが、そのままにしていました。それどころか、"MCVE" で検索して見つけやすくするためだけに、記事の最後に短い追記を加えなければいけませんでした。名前を憶えていられないものについて議論するのは難しかったです。 こんな中、我々の新しい勇敢なプロダクト・マネージャー Meg はこの問題に取り組み、もっと綺麗にこの内容を伝えられないか考えました。するとあるひとつの言葉が目に入ってきました。 ![記事の冒頭に "reproduce" という単語が3回現れています](https://i.stack.imgur.com/QonZw.png) Minimal, Reproducible Example (あるいは、"reprex") --------------------------------------------- はい。"Complete" と "Verifiable" のどちらも、他人が **問題を再現する** ための方法を必要としています。つまり......、我々は単に、最小限の・**再現可能な** サンプルコードと言うことができるでしょう。よく分からない略語ではなく、意味が分かる綺麗なかばん語である "reprex" と略すことができます。この言葉は元々 R コミュニティで生まれたもので、コミュニティの一部は数年に渡って似たFAQを作っています。特に我々は、Jenny Bryan の `reprex` という R 用ライブラリと、彼女の言う "help me help you" という哲学に感銘を受けました。"help me help you" とは、質問者に再現可能なサンプルコードを作るよう促し、コードに関する会話をより生産的で効率的なものにするための哲学です。 こうやってじっくり考えていった結果、「再現性」という言葉を使った方が良いのではないかという結論に至りました。件のヘルプ記事が言う哲学の大部分は「短く明確に」と言っているのですから、タイトルも短くし、URLも分かりやすくするべきではないでしょうか? 既にある何千ものリンクが切れないのであれば、そうした方が良さそうです。 このような理由から、Jon Chan が /help/mcve と /help/reprex が同じ場所にリダイレクトするように設定し、古い記事のタイトルを、短い、新しいタイトルに改めました。また、タイトルを更新する際 the Community Team から他にもいくつか助言をもらいました。 (訳注: 以下はヘルプ記事の翻訳にも関わってくる箇所ですので、英語のまま残しています) * "you will get better answers" -> "people will be better able to provide help" Let's face it, there's no guarantee you'll get a good answer no matter how good your question is - you're just increasing the odds. * "tabs make a mess on Stack Overflow" -> "tabs might not get correctly formatted" The subtle danger here has always been that tabs *seem* to work on Stack Overflow... Just like they probably *seem* to work in your favorite editor. Until they don't, and your co-workers murder you with a classic can of diet soda. Again, precision is important here: the danger isn't that tabs will always break, it's that they won't always work. * Removed the now-redundant "make sure it's complete" section The final guidance in the Verifiable->Reproducible section was already *very* close to this; with a few more tweaks it can entirely supplant it. * "'It doesn't work' is not a problem statement" -> "isn't descriptive enough to help people understand your problem. There are lots of ways you can better describe your problem so it's reproducible." Here I got preachy instead of trying to help folks understand the reason for the advice. Meg suggested a more descriptive explanation. これ以外にもいくつか細かい変更をしています。最終的に、まとまった改善ができたのではないかと思っています。できたものをご確認ください: /help/reprex。そして、ご意見を頂ければ幸いです。 --- 日本語版スタック・オーバーフローでの扱い -------------------- さて、以上の記事は英語版スタック・オーバーフローのものでした。 日本語版スタック・オーバーフローでは既に `/help/mcve` が `/help/reprex` にリダイレクトされるようになっているのですが、**文章は一切変わっていません。** * Shog9 さんに伺ったところ、日本語版のコミュニティで議論し、どのようにするか決めて欲しいとのことです。 このメタ投稿では、この変更を受けて日本語版のヘルプページをどうするか(変えるか変えないか、変えるならどう変えるか)を議論したいです。さて、どうしましょうか?
回答: * 本家SOでの元メタ投稿では非常に不評なようで、既に -200 超のマイナス投票と、コメントや回答でも反対意見が多数付いています。 * "MCVE" や "Reprex" が「扱いやすい」または「分かりやすい」、もしくはその反対かはあくまで「英語」での話であって、他の言語に翻訳した場合には必ずしも当てはまらないと思います (この辺りも反対意見の一つとしてコメントで挙がっています)。 + `grep`も語源は長ったらしい英語ですが、十分に浸透しているので伝わる略語です。 + 日本語だと例えば「おかし - おさない かけない しゃべらない」は分かりやすい略語です。 + "MCVE"のルールで日本語に無理やり略語とするなら"小自確例"とかになりますが、これは分かりにくいです。 + 略語じゃないけど「Intel Inside - インテル 入ってる」は訳しても意味が通じる良い例だと思います。 経緯はともかく、該当ヘルプページの文面を見直すのはいい機会じゃないでしょうか。本文で説明を含めるにしても、タイトルに「自己完結した」は冗長な印象ですし、本文の「フォーマッティング」など細かな点も気になります。