automatic9045 / automatic9045/TRS.MS-12

要求画面の表示の高速化

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
28
Forks
0
PR merge metrics
No merged PRs in 30d

Description

現状、要求画面を表示するタイミングで設定されているコマンドを構文解析・実行しているため遅い。
各ボタンのコマンドをあらかじめコンパイルして登録することで、要求画面の表示の高速化が期待できる。

## 修正・追加する必要があるもの
- [ ] コマンドを定義するためのクラスの準備
- ITicketControlCommandインターフェイス(仮称)を準備し、各コマンドをITicketControlCommandを実装するクラスとして定義する
- `static List CompileCommands(string commandText);`メソッドをどこかしらで定義する
- ITicketPluginのメンバーにしてしまうのが多分一番良い
- 標準的なコマンドのコンパイラーについてはPluginHostなどで提供することも併せて検討。現状ではチケットプラグイン毎にいちいちコマンドの処理系を実装する必要があり面倒
- または単にList<Action>でも良いかもしれない。読みやすさなども加味して要検討
- [ ] TicketButton
- 現状はCommandプロパティはstring型で、生のコマンド文字列を保存している
- Commandプロパティの型をList<ITicketControlCommand>かList<Action>に変更し、定義ファイル読み込み時に`Command = CompileCommands(commandText);`するようにする
- [ ] KeyInfo
- 同上

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating TicketButton, KeyInfo, ITicketPlugin, PluginHost, and the definition-file loading path mentioned in the issue. Trace when command text is currently parsed and executed during the requirement screen display. Done means commands are compiled during loading and both TicketButton and KeyInfo use the compiled representation without changing their behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.