Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
v3でIDの廃止を検討していたが、到底廃止できるものではないという結論に至った。そのため、ゲームシステムを取得する際にクラス名ではなくIDを指定するようにする。
それに伴い、IDとクラス名に解離がある以下のゲームシステムのIDを変更する。
ShinMegamiTenseiKakuseihen
SMTKakuseihen
ShinMegamiTenseiKakuseihen
Torg
TORG
Torg
Torg1_5
TORG1.5
Torg1.5
NjslyrBattle
NJSLYRBATTLE
NjslyrBattle
また、以下のクラス名を変更する。
Gurps
GURPS
GURPS
経緯
ID廃止を検討した理由
v2ではゲームシステムに識別はクラス名を用いれば可能であるにもかかわらず、IDも設定するようになっている。これは同じような情報を二重に管理しており、単に無駄だと考えていた。
このように識別子が二通りあると、オンセツールによってどちらの識別子を使うか別れてしまい、エンドユーザーがどちらの形式の識別子で指定すれば良いのか混乱する恐れがあると考えていた。
IDとクラス名がなぜ解離するのか
.
を用いたいため解離してしまう。ダイスコマンドが実行されたとき、オンセツールではどのダイスボットで実行されたのか表示するために、慣例的にIDを結果と併せて表示する。そこでソードワールド2.5のような小数点が名称に含まれる場合には
SwordWorld2.5
と表示したくなる。 クラス名のSwordWorld2_5
や、小数点を省略したSwordWorld25
ではエンドユーザーの認識に誤解を与えるためである。IDを廃止できない理由
理由の一つ目はテキストベースでゲームシステムを選択する場合の利便性である。エンドユーザーが普段目にしているのは
SwordWorld2.5
であって、クラス名のSwordWorld2_5
ではない。BCDiceがチャットボットに組み込まれていて、テキストベースでゲームシステムを選択する場合、SwordWorld2.5
の方が入力しやすい。理由の二つ目は誤字だと誤解される可能性である。
SwordWorld25 : (2D6) ...
などどオンセツールに表示されたら、サポートチャットに「.が抜けている」という誤字報告で溢れ返るのが容易に想像できる。解決策
IDによる検索を行うインターフェースのみを提供することで、識別子が二重になる問題を防ぐ。