automatic9045 / automatic9045/TRS.MS-12
要求画面の表示の高速化
- 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