bcdice / BCDice

The most popular TRPG dice command engine in Japan
https://bcdice.org
BSD 3-Clause "New" or "Revised" License
138 stars 183 forks source link

システム別ドキュメント構造化の提案 #275

Closed R-F-D closed 2 years ago

R-F-D commented 4 years ago

各ゲームシステムに紐づくドキュメントは 現在、GameSystem派生の各クラスの下に、プレーンテキストの形で記述されています。 (ただし標準ダイスボットを除く)

これをJSON等で構造化することで 公式ドキュメント作成やオンセツール側での様々な活用が可能になると考えます。

現状のHELP_MESSAGEを見て検討したところ、以下のような構造であればうまく整理できそうです。


とりあえずの懸念点は

ysakasin commented 4 years ago

非常に魅力的、かつ活用しがいのありそうな提案ありがとうございます。

ヘルプメッセージがより構造的になるのは非常にメリットなのですが、以下のデメリットに目がいってしまって導入には否定的な印象を持っています。

この方式を採用するならば、あくまで生成するプレーンテキストを最終成果物とし、ヘルプメッセージを宣言的に記述できる補助ツールとして用いるのが着地点かなと思います。ただ、この着地点だとあくまでプレーンテキストを改善するというのが結果になってしまうので、わざわざ仕組み化せずとも従来の方式で内容を充実化することでも達成できてしまいます。

R.F.D.さんがこの提案をなさった意図は、あくまでコマンドの定義そのものをオンセツールなり公式ドキュメントで生かしたいという点だと思いますが、活用は難しいのではないかと思います。特に、オンセツールがBCDice-APIを使っている場合はBCDiceのバージョンを固定できませんし、バージョンを見て挙動を変えるように促すのはあまりしたくないです。

ysakasin commented 4 years ago

仮に導入する場合の検討

ochaochaocha3 commented 4 years ago

@R-F-D 「個々の機能」の詳しさから、(従来のプレーンテキストとは別に)Doxygenで出力されるドキュメントのようなものが想定されているのでしょうか?

R-F-D commented 4 years ago

@R-F-D 「個々の機能」の詳しさから、(従来のプレーンテキストとは別に)Doxygenで出力されるドキュメントのようなものが想定されているのでしょうか?

そこまで豪勢なものではないですけど、イメージとしてはまさにそんな感じでした。 image