---
generated_at: 2026-02-22 16:30:00
metrics:
  claims_total: 45
  claims_with_evidence: 43
  claims_without_evidence: 2
confidence_derived: 0.96
---

# 根拠レポート：コードリーディングガイドライン

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：43 / 45、根拠なし：2
- 優先レビュー（高）
  1. **Mermaid図の正確性**：概念図のためソースコードからの直接的な検証が困難
  2. **公式ドキュメントURLの有効性**：外部リンクの確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `src/Avalonia.Controls/Button.cs`
- E-02: `src/Avalonia.Base/AvaloniaObject.cs`
- E-03: `src/Avalonia.Base/StyledElement.cs`
- E-04: `src/Avalonia.Base/Visual.cs`
- E-05: `src/Avalonia.Controls/Control.cs`
- E-06: `src/Avalonia.Controls/Window.cs`
- E-07: `src/Avalonia.Controls/Primitives/TemplatedControl.cs`
- E-08: `samples/ControlCatalog.Desktop/Program.cs`
- E-09: `Directory.Build.props`
- E-10: `README.md`
- E-11: `src/Avalonia.Base/Avalonia.Base.csproj`
- E-12: `src/Markup/Avalonia.Markup.Xaml/` ディレクトリ構造
- E-13: `docs/build.md`
- E-14: `Avalonia.sln`
- E-15: `native/Avalonia.Native/` ディレクトリ構造

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | AvaloniaはC#/.NETベースのクロスプラットフォームUIフレームワーク | E-10 (README.md) | ○ |
| C-02 | LangVersion 14.0を使用 | E-09 (Directory.Build.props:10) | ○ |
| C-03 | StyledPropertyの定義パターン | E-01 (Button.cs:46-47) | ○ |
| C-04 | DirectPropertyの定義パターン | E-01 (Button.cs:88-89) | ○ |
| C-05 | AttachedPropertyの定義パターン | E-04 (Visual.cs:106-109) | ○ |
| C-06 | OnPropertyChangedのオーバーライドパターン | E-01 (Button.cs:474-552) | ○ |
| C-07 | RoutedEvent登録パターン | E-01 (Button.cs:82-83) | ○ |
| C-08 | イベントハンドラパターン | E-01 (Button.cs:121-125) | ○ |
| C-09 | 主要な名前空間一覧 | E-01, E-02, E-03, E-04, E-05 | ○ |
| C-10 | AvaloniaObjectがプロパティシステムの基底 | E-02 (AvaloniaObject.cs:24-25) | ○ |
| C-11 | クラス継承階層（AvaloniaObject→StyledElement→Visual...） | E-02, E-03, E-04, E-05 | ○ |
| C-12 | RoutedEventのバブル/トンネル | E-01 (Button.cs:82-83) | ○ |
| C-13 | Looklessコントロールパターン | E-07 (TemplatedControl.cs:17-18) | ○ |
| C-14 | PseudoClassesパターン | E-01 (Button.cs:35-39) | ○ |
| C-15 | ファイル命名規則（Avalonia.{Module}） | E-14 (Avalonia.sln), プロジェクト構造 | ○ |
| C-16 | プロパティ命名規則（{Name}Property） | E-01, E-02, E-04 | ○ |
| C-17 | イベント命名規則（{Name}Event） | E-01 (Button.cs:82) | ○ |
| C-18 | privateフィールドのアンダースコアプレフィックス | E-01 (Button.cs:100) | ○ |
| C-19 | ディレクトリ構造の説明 | プロジェクト構造の実際のファイル配置 | ○ |
| C-20 | src/Avalonia.Baseの役割 | E-02, E-03, E-04 | ○ |
| C-21 | src/Avalonia.Controlsの役割 | E-01, E-05, E-06 | ○ |
| C-22 | samplesディレクトリの存在 | E-08 | ○ |
| C-23 | testsディレクトリの存在 | プロジェクト構造 | ○ |
| C-24 | 階層化されたアーキテクチャ | プロジェクト構造全体 | ○ |
| C-25 | アーキテクチャ図（Mermaid） | 概念的な図 | △ |
| C-26 | AppBuilderパターンの使用 | E-08 (Program.cs:142-165) | ○ |
| C-27 | エントリーポイントの説明 | E-08 (Program.cs:22-26) | ○ |
| C-28 | プロパティシステムの機能 | E-02 | ○ |
| C-29 | スタイルシステムの機能 | E-03 | ○ |
| C-30 | AvaloniaProperty登録パターンの説明 | E-01 (Button.cs:46-47) | ○ |
| C-31 | RoutedEvent登録パターンの説明 | E-01 (Button.cs:82-83) | ○ |
| C-32 | SetAndRaiseパターンの説明 | E-01 (Button.cs:186-189) | ○ |
| C-33 | ボタンクリックイベントフローの説明 | E-01 (Button.cs:403-427, 430-445, 345-368) | ○ |
| C-34 | OnPointerPressedの実装 | E-01 (Button.cs:403-427) | ○ |
| C-35 | OnPointerReleasedの実装 | E-01 (Button.cs:430-445) | ○ |
| C-36 | OnClickの実装 | E-01 (Button.cs:345-368) | ○ |
| C-37 | README.mdの存在と役割 | E-10 | ○ |
| C-38 | docs/build.mdの存在 | E-13 | ○ |
| C-39 | StyledPropertyとDirectPropertyの違い | E-02, E-01 | ○ |
| C-40 | VisualTreeとLogicalTreeの違い | E-03, E-04 | ○ |
| C-41 | OnApplyTemplateの説明 | E-07 | ○ |
| C-42 | PseudoClassesの使い方 | E-01 (Button.cs:706-710) | ○ |
| C-43 | DevToolsの存在 | E-08 (Program.cs:165) | ○ |
| C-44 | 用語集の正確性 | E-01, E-02, E-03, E-04, E-07 | ○ |
| C-45 | 公式ドキュメントURL | 外部リンク | △ |

## 4) 不足情報（Unknown / Missing）
- **C-25 (Mermaid図)**: アーキテクチャ図は概念的な表現であり、ソースコードから直接検証することは困難です。ただし、プロジェクト構造とcsprojファイルの依存関係から妥当性は確認できます。
  - 候補：各プロジェクトの依存関係をcsprojファイルから詳細に抽出して検証
- **C-45 (公式ドキュメントURL)**: 外部URLの有効性は実行時にのみ確認可能です。
  - 候補：URLの有効性を手動で確認

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: 大部分の主張はソースコードから直接引用しており、信頼性が高い
- **1 (中リスク)**: アーキテクチャ図は概念的な表現であり、プロジェクト構造の変更に伴い陳腐化する可能性あり
- **0 (低リスク)**: コードサンプルは実際のファイルと行番号を明示しており、検証が容易

## 6) レビュアーチェックリスト（最小）
- [ ] Button.csのコードサンプルが現在のソースコードと一致しているか確認
- [ ] ディレクトリ構造図が実際のプロジェクト構造と一致しているか確認
- [ ] 継承階層の説明が正確か、各クラスファイルで確認
- [ ] 公式ドキュメントURL (https://docs.avaloniaui.net) が有効か確認
- [ ] Mermaidアーキテクチャ図がプロジェクトの概念を正しく表現しているか確認
- [ ] 用語集の定義が正確かつ十分か確認
