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.
「打鍵」をどのようにコード上で表現するか問題(続)
ある程度 emiel が形になったあとで、あらためて考え直すと、結局「打鍵」を VirtualKey として扱う以外に方法がないことから、抽象化するだけのメリットがあまりないのではないかと思うようになった。
逆に、抽象化した結果、すべてのキーは object になって比較コストが上がり、かつ VirtualKey を扱うすべての関数は型パラメータを持たなければならなくなり、コードの複雑さや見通しの悪さが増すだけである。
最終的に VirtualKey はすべてのシンプルな文字列として扱うことにする。
VirtualKey を Number で扱ったほうがよりパフォーマンス改善につながる事も考えたが、VirtualKey は文字列として扱うことで、デバッグ時にも見やすくなるというメリットがあるため、文字列として扱うことにした。