Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 2.29 KB

File metadata and controls

42 lines (30 loc) · 2.29 KB

AGENTS

プロジェクト概要 (Project Description)

本プロジェクトはSSHを経由してサーバログを閲覧するツールの開発プロジェクトです。
目的はサーバに存在するログを全量ダウンロードすることなく、検索・ハイライト等を行いながら閲覧することです。

アーキテクチャ原則 (MVVM)

本アプリケーションは MVVM (Model-View-ViewModel) パターン に従います。

  • Model

    • ログエンティティやサーバ操作などを表現します。
    • SSH接続・Linuxコマンド実行・ログ取得機能などを提供します。
    • UI には依存しません。
  • View

    • ログの検索・表示・SSH接続情報設定用 UI コントロールを表示します。
    • 応答性の高い表示に専念し、見た目以外のロジックを持ちません。
    • ビジネスロジックは含みません。
  • ViewModel

    • View と Model の仲介を行います。
    • UIから実行可能なSSH接続開始・ログ取得などのコマンドを公開します。
    • View をファイルシステムから切り離し、テスト容易性を確保します。

この分離により、保守・拡張・テスト が容易になります。

ガイドライン (Guidelines)

  • すべてのクラス / メソッド / プロパティに XML ドキュメントコメントを必ず付与すること。
  • XML ドキュメントコメントは必ず日本語で記述すること。
  • 明示的な指示がない限り、その他のコメントは追加しないこと。
  • .editorconfig の設定に従うこと。
  • Viewでは極力コードビハインドを利用せず、コマンドによりViewModelの処理を呼び出すこと。
  • Viewでバインディングを行う際は、避けられない場合を除き x:Bind を利用すること。
  • ViewとViewModelはBindableReactiveProperty, ObservableListを利用してデータバインディングを行うこと。
  • ViewModelは、ModelのReactivePropertyをBindableReactivePropertyに変換して公開すること。
  • 無関係な箇所の修正は行わないこと。(コードフォーマットの修正や、コメント追加削除などを含む)
  • 修正後にビルドが成功することを確認すること。