# 重构 CSharpStringExtractor 的文本赋值处理 - The Implementation Plan (Decomposed and Prioritized Task List)

## [x] Task 1: 创建通用的特殊赋值检测方法
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 创建一个新的私有方法 `isSpecialAssignment`，统一检测是否是特殊赋值语句
  - 支持两种模式：`xxx.text = yyy;` 和 `m_btn_xxx.title = yyy;`
  - 返回类型：boolean
- **Success Criteria**:
  - 正确识别所有特殊赋值语句
  - 保持原有功能不变
- **Test Requirements**:
  - `programmatic` TR-1.1: 所有现有测试用例通过
  - `human-judgement` TR-1.2: 方法命名清晰，参数设计合理
- **Notes**: 参考现有代码中的 `/\w+\.text\s*=/` 正则表达式

## [x] Task 2: 统一正则表达式定义为常量
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 在类顶部定义静态常量来存储特殊赋值的正则表达式
  - `TEXT_ASSIGNMENT_PATTERN`: `/\w+\.text\s*=/`
  - `TITLE_ASSIGNMENT_PATTERN`: `/m_btn_\w+\.title\s*=/`
  - `SPECIAL_ASSIGNMENT_PATTERN`: 组合前两者
- **Success Criteria**:
  - 所有使用特殊赋值检测的地方都使用常量
  - 避免重复定义正则表达式
- **Test Requirements**:
  - `programmatic` TR-2.1: 所有现有测试用例通过
  - `human-judgement` TR-2.2: 常量命名清晰，放在合适的位置

## [x] Task 3: 替换 extractStrings 方法中的检测逻辑
- **Priority**: P1
- **Depends On**: Task 2
- **Description**: 
  - 替换第 217 行的 `isTextAssignment` 检测
  - 使用新创建的常量和方法
- **Success Criteria**:
  - 功能保持不变
  - 代码更简洁
- **Test Requirements**:
  - `programmatic` TR-3.1: 所有现有测试用例通过

## [x] Task 4: 替换 isStatementToProcess 方法中的检测逻辑
- **Priority**: P1
- **Depends On**: Task 3
- **Description**: 
  - 替换第 1620 行的 `isTextAssignment` 检测
  - 使用新创建的常量和方法
- **Success Criteria**:
  - 功能保持不变
  - 代码更简洁
- **Test Requirements**:
  - `programmatic` TR-4.1: 所有现有测试用例通过

## [x] Task 5: 替换 processStringConcatenation 方法中的检测逻辑
- **Priority**: P1
- **Depends On**: Task 4
- **Description**: 
  - 替换第 2036 行的 `isTextAssignment` 检测
  - 使用新创建的常量和方法
- **Success Criteria**:
  - 功能保持不变
  - 代码更简洁
- **Test Requirements**:
  - `programmatic` TR-5.1: 所有现有测试用例通过

## [x] Task 6: 替换 extractValueExpression 方法中的检测逻辑
- **Priority**: P1
- **Depends On**: Task 5
- **Description**: 
  - 替换第 2399 行的 `.text =` 检测
  - 支持同时检测 `.text =` 和 `.title =` 两种模式
  - 提取值的逻辑保持一致
- **Success Criteria**:
  - 功能保持不变
  - 支持两种赋值模式
- **Test Requirements**:
  - `programmatic` TR-6.1: 所有现有测试用例通过

## [x] Task 7: 替换 processStatementAndExtractValue 方法中的检测逻辑
- **Priority**: P1
- **Depends On**: Task 6
- **Description**: 
  - 替换第 2735 行的 `isTextAssignment` 检测
  - 使用新创建的常量和方法
- **Success Criteria**:
  - 功能保持不变
  - 代码更简洁
- **Test Requirements**:
  - `programmatic` TR-7.1: 所有现有测试用例通过

## [x] Task 8: 更新 processTextAssignments 方法以支持 title 赋值
- **Priority**: P0
- **Depends On**: Task 7
- **Description**: 
  - 更新 `processTextAssignments` 方法（1945 行）
  - 同时支持 `xxx.text = yyy;` 和 `m_btn_xxx.title = yyy;` 两种模式
  - 保持值处理逻辑一致
- **Success Criteria**:
  - 两种模式的处理逻辑完全一致
  - 原有功能保持不变
- **Test Requirements**:
  - `programmatic` TR-8.1: 所有现有测试用例通过
  - `human-judgement` TR-8.2: 代码逻辑清晰，易于维护

## [x] Task 9: 运行完整测试套件
- **Priority**: P0
- **Depends On**: Task 8
- **Description**: 
  - 运行所有测试用例
  - 确保 100% 通过
- **Success Criteria**:
  - 所有 124 个测试用例通过
- **Test Requirements**:
  - `programmatic` TR-9.1: 所有测试用例通过

## [x] Task 10: 生成重构说明文档
- **Priority**: P2
- **Depends On**: Task 9
- **Description**: 
  - 创建重构说明文档
  - 包括：代码复用率提升数据、主要重构点说明、未来维护改进建议
- **Success Criteria**:
  - 文档完整清晰
- **Test Requirements**:
  - `human-judgement` TR-10.1: 文档内容完整、准确
