Closed faithandbrave closed 5 months ago
ライブラリリファレンスにある「### 処理系」の見出しは、実際に「動作確認できた処理系」を意味するのですが、そうであることがわかりにくいので、そうであるとわかるようにしたいです。
これはそのまま「動作確認できた処理系」がフィットしそうです。
それと、「対応していると期待できる処理系」みたいなのを追加して、(試せる環境がないなどで) 動作確認はできていないけど、リリースノートを見ると対応してるように見える、というのを書ける場所を用意したい気がしています。 見出しタイトルが悩ましいので別案があればほしいです。
「対応していると期待できる処理系」でもいいですが別案をあえて出すなら「対応したと宣言されている処理系」とかはどうでしょうか。
動作確認できた処理系の記載には、依然としてオーバーロードごと・バージョンごとをどうするかの問題が残ってはいますが
MDNの互換性テーブルみたいなのが作れればいいんでしょうけどなかなか大変ですよね・・・。こういうのを運用するとしたらMDNがやっているように言語をまたいで英語版cppreference.com の著者たちとかと連絡を取ってやるみたいなそういう規模感の運営がないとやっていけなさそうです。
「動作確認できた処理系」というのは何だか執筆者視点の感じが強く出て読者的に見ると変な感じがします。「確認済み処理系」の方がニュートラルな感じがします (理由を聞かれたらあまり説明できないですが)。
そういえば「動作する」ということを確認した処理系しか載っていないんですね (動作しないことが確認されたものは載っていない)。だとすると載っていないものは動かないのかあるいは単に未確認なだけか分からないんですね。見出しは「処理系の対応状況」として
みたいな感じのほうがひと目に見て分かる気もします。
「対応したと宣言されている処理系」はもっと的を射た短い表現がありそうな気もしますが出てきません (カタログスペックというのも微妙に違うし)。
或いはこれも絵文字で示せたらいいのですが、一目で「対応したと宣言した」と分かる絵文字というのも難しそうです。Release "note" 的な連想で
とか、或いは対応したと主張している時点で⭕として、更に動作検証は "追加で verified された" 的な捉え方で
など。
確かに英語圏でこういう情報ってまとめていないんですかね。或いは各コンパイラ・標準ライブラリの開発者自身が todo リストとかチケットシステムみたいなものを管理していたらそれが一番確実な気もします。
いままでは、動作しないことが確認できた処理系も??にしていましたが、
みたいに書けると、たしかにうれしいですね。こう書けるなら、「動作確認できた」と書かなくてもよいと思います。「処理系の対応状況」でいいですね。
対応したと主張している時点で⭕として、更に動作検証は "追加で verified された" 的な捉え方で
ありですね
雛形として、リファレンスの全ページにチェックマークの読み方を記載すれば、これでいい気がしますね
(❌ = 未実装、⭕ = 実装済・未検証、✅ = cpprefjpで検証済)
こんな感じですか。
絵文字はこれまで cpprefjp の中で使われていましたか。絵文字はテキストブラウザや音声読み上げ対応でどうなるんでしょう。後ブラウザ間の絵文字の表示のぶれだとか。画像埋め込みにして代替テキスト (<img>
の alt
属性) を設定するという手も。
それから絵文字を直接 .md
の中に入れるかそれとも文字参照 (&#xHHHH;
or カスタムの &impl-verified;
とか) などの特別表記で記述するか。個人的には自分のエディタが絵文字に対応していないので直接 .md
に記述すると微妙かもです (が、変なソフトを使っているのが悪いと言われたら反論できない)。エディタが対応していたとしても絵文字を出すのが大変かと思いましたが、上記のように凡例を入れるならばそこからコピペすれば良いですね。
絵文字はREADMEのCIバッジ以外では使ってないですね。 編集者向けドキュメントとかに試しに書いてみて、一旦ブラウザの表示を確認してみたほうがよさそうですね。 文字参照でよいかと思います。
絵文字、コードブロック中のコメントですけど、使ったことがあります https://cpprefjp.github.io/lang/cpp20/implicit_creation_of_objects_for_low-level_object_manipulation.html
上のページでは UB, ok などの文字列と併記されているので絵文字が豆腐になっても大丈夫ですね。
うーん。やはり絵文字が表示できるときは絵文字だけの方が見やすく感じます。cpprefjp/markdown_to_html
レベルで絵文字を画像 & alt
に変換するとか。。。
調べてみたら <img>
にしなくても <span role="img" aria-label="検証済">✅</span>
とすれば良い? 文字化けに対しては無力そうですがアクセシビリティー的にはこれで良い?
私が使ってるMacVim環境でも、絵文字はカーソル位置がよくわからないことになったりしますね。
コンパイラバージョンを列挙していくと<span>
をつけてまわるのも大変なので、cpprefjp用の記法を用意して、markdown_to_htmlで変換してしまうのがいい気がします。
md記法 | 表示 | 変換後html |
---|---|---|
[mark noimpl] | ❌ | <span role="img" aria-label="未実装">❌</span> |
[mark impl] | ⭕ | <span role="img" aria-label="実装済">⭕</span> |
[mark ok] | ✅ | <span role="img" aria-label="検証済">✅</span> |
これでどうでしょう?
[mark noimpl]
は[mark ng]
とすることも考えましたが、実装前のバージョンというだけなのにネガティブに見えてしまうのはよくないかなと思って避けました。
良いと思います! 追加で title
属性もつけると良いかなと思います(ツールチップとして表示されるので)。
例: <span role="img" aria-label="未実装" title="未実装">❌</span>
[mark noimpl]
は[mark ng]
とすることも考えましたが、実装前のバージョンというだけなのにネガティブに見えてしまうのはよくないかなと思って避けました。
[mark na]
(N/A; Not available) というのもありかもです (でも、noimpl ←→ impl の対称性を考えたらやはり noimpl
の方がわかりやすいかも)。
[mark xxx]は文脈問わず使えていいと思うので (文脈を限定する方が実装コストがかかる)、ほかの文脈で使う可能性を考慮して、impl / noimplのような意味を限定したものじゃないものにしてもいい気はします。 ただ、あまり汎用にしてしまうとtitleを考えるのもむずかしくなるので、ほかに使いたい用途がでてきたら考えるのでもいいかもです。
title が 未実装・実装済・検証済 なのでそのまま使い回すのは難しいかもしれないですね。title に合わせて [mark impl] / [mark noimpl] で良い気がしてきました。そうすると今度は [mark ok] で "検証済" とするのは https://github.com/cpprefjp/site/issues/1274#issuecomment-2118792993 by @onihusube における "ok" と意味がかちあうので、より具体的に [mark verified] とか [mark confirmed] とかの方が良いかもしれません。
それじゃverifiedにしましょうか。
手元ではsite_generatorとmarkdown_to_htmlの修正ができて動作確認もできたので、相対リンクのPRをマージしたらコミットしようと思います。
ページのメタ情報が動かなくなってしまったので、一旦差し戻します。
絵文字の機能は入りました。こちらで確認できます。 https://cpprefjp.github.io/working_style.html
あとは、既存ページに絵文字を入れていくのと、編集者向けページを直します。
全ページのコンパイラバージョンに、絵文字をつけました。 また、編集者向けドキュメントにもmark記法の意味を記載しました。
ひとまずこれで完了です。問題ありましたらreopenしてください。
ライブラリリファレンスにある「### 処理系」の見出しは、実際に「動作確認できた処理系」を意味するのですが、そうであることがわかりにくいので、そうであるとわかるようにしたいです。
それと、「対応していると期待できる処理系」みたいなのを追加して、(試せる環境がないなどで) 動作確認はできていないけど、リリースノートを見ると対応してるように見える、というのを書ける場所を用意したい気がしています。 見出しタイトルが悩ましいので別案があればほしいです。
動作確認できた処理系の記載には、依然としてオーバーロードごと・バージョンごとをどうするかの問題が残ってはいますが、ひとまず曖昧さをなくす提案をしました。