monkeycode-ai
|
db536cfb2c
|
feat: CodePlay 第二阶段优化 - 转换质量与特性完善
核心修复:
- 修复 LinqToStreamConverter 13 个正则双反斜杠转义错误 (87→0 失败)
- 修复 InheritanceConverter 接口判断逻辑 (纯 I 前缀父类→implements)
- 修复 PropertyConverter init-only 属性组索引
新增转换器 (C# 8-13 特性):
- NullCoalescingConverter: ??、?.、??= 运算符转换
- SwitchExpressionConverter: switch 表达式→if-else 链
- PrimaryConstructorConverter: 主构造函数→传统构造函数
增强:
- LinqToStreamConverter 新增 FirstOrDefault(predicate)、OrderByDescending、TakeWhile、SkipWhile、Reverse 等
- AutoFixEngine 3 轮自动修复: 轮1 导入、轮2 类型映射、轮3 API 调用/语法错误
- NamingConverter: PascalCase→camelCase 命名转换
- DetectUnconvertibleSyntax: LINQ/async/record/init/var/switch/primary ctor 问题记录
- XML Doc→JavaDoc 格式转换与注释保留
新增测试:
- CSharpToJavaEdgeCaseTests: 16 个边界测试
- CSharpToJavaSemanticEquivalenceTests: 15 个语义等价性测试
- 从 164 增加到 179 总测试 (168 通过, 0 失败)
新增文件:
- Pipeline/Converters/NullCoalescingConverter.cs
- Pipeline/Converters/SwitchExpressionConverter.cs
- Pipeline/Converters/PrimaryConstructorConverter.cs
- Converters/CSharpToCppStrategy.cs + CppCodeGenerator.cs
- Tests/Semantics/CSharpToJavaSemanticEquivalenceTests.cs
- Tests/CSharpAdvancedFeaturesTests.cs + CSharp13FeatureTests.cs
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-16 07:08:11 +00:00 |
|
monkeycode-ai
|
71ef79a9e2
|
feat: 完成剩余 P1/P2 优化任务
新增功能:
✅ 代码格式化集成 (CodeFormatter.cs)
- 支持 C# (dotnet format)
- 支持 Java (google-java-format)
- 支持 C++ (clang-format)
- 自动检测格式化工具可用性
✅ WebSocket 实时推送 (ConversionHub.cs)
- SignalR Hub 实现
- 进度组管理
- 实时转换进度推送
✅ Python 语言支持
- PythonParser.cs: Python 代码解析
- PythonToCSharpConverter.cs: Python→C# 转换
- 支持 class/def/import 解析
测试结果: 42 个测试 (41 通过,1 跳过) ✅
新增文件:
- CodePlay.Core/Services/CodeFormatter.cs
- CodePlay.WebAPI/Hubs/ConversionHub.cs
- CodePlay.Core/Parsers/PythonParser.cs
- CodePlay.Core/Converters/PythonToCSharpConverter.cs
延后任务:
⏸️ 差异对比功能:需要 Monaco Diff Editor 深度配置
⏸️ 前端编译:Vite + Monaco 配置复杂,需专项处理
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 02:20:11 +00:00 |
|
monkeycode-ai
|
93e5bcb575
|
feat: 执行 P0+P1 优化任务
P0 任务 (立即执行):
✅ C++ 解析器增强: 改进正则解析,支持模板/命名空间/多重继承
✅ 输入验证和安全加固: InputValidator 服务,代码大小限制,恶意代码检测
✅ 缓存机制:CachedConversionService,SHA256 缓存键,60 分钟过期
P1 任务 (短期):
⏸️ 代码格式化集成:deferred (需要外部依赖)
⏸️ Web 界面暗黑模式:deferred (前端任务)
⏸️ 差异对比功能:deferred (前端任务)
✅ 日志增强:RequestLoggingMiddleware 中间件
新增文件:
- CodePlay.Core/Parsers/CppParser.cs (增强版)
- CodePlay.Core/Services/InputValidator.cs
- CodePlay.Core/Services/CachedConversionService.cs
- CodePlay.WebAPI/Middleware/RequestLoggingMiddleware.cs
- CodePlay.Core/CodePlay.Core.csproj (新增 ClangSharp, MemoryCache 包)
测试结果: 42 个测试 (41 通过,1 跳过) ✅
延后任务原因:
- 代码格式化:需要安装 dotnet-format, google-java-format, clang-format
- Web 界面功能:属于前端开发任务,需要 Vue3 开发
- 这些任务可以后续通过前端专项完成
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 01:19:37 +00:00 |
|
monkeycode-ai
|
abd9d1b4a8
|
feat: 完成第三批任务 (Task 8.1-8.3, 5.3-5.4, 6.1-6.2)
Task 8.1-8.3 - 错误处理和日志系统:
- GlobalExceptionHandler: 全局异常处理中间件
- 统一错误响应格式 (ErrorResponse)
- 自动分类处理各种异常类型
- 支持 Serilog 日志配置 (appsettings.json)
- 请求日志中间件集成
- 详细的日志输出和错误追踪
Task 5.3-5.4 - CLI 高级功能:
- CliConfiguration: CLI 配置文件管理
- stats 命令:显示转换统计信息
- config 命令:配置 CLI 参数
- 支持用户级别配置文件 (~/.codeplay/config.json)
- 可配置的默认语言和验证轮次
- 并发控制选项
Task 6.1-6.2 - 报告展示完善:
- ReportView.vue: 报告管理界面
- 统计卡片展示(总转换、项目、问题、平均行数)
- 报告列表表格(支持排序和筛选)
- 报告详情对话框
- 代码对比视图
- TODO 和问题列表展示
- 导出和删除功能
- 路由配置更新
测试:42 个 (41 通过,1 跳过) ✅
新增文件:
- CodePlay.WebAPI/Middleware/GlobalExceptionHandler.cs
- CodePlay.WebAPI/appsettings.json (Serilog 配置)
- CodePlay.CLI/Config/CliConfiguration.cs
- CodePlay.Web/src/views/ReportView.vue
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 00:48:23 +00:00 |
|
monkeycode-ai
|
cc6be55677
|
feat: 实现 Task 6-7 报告和存储服务
Task 6 - 转换报告:
- 扩展 ConversionReport 模型
- 添加 Id, ProjectId, SourceLanguage, TargetLanguage
- 添加 IssueCount, TodoCount, ValidationStatus
- 添加 CreatedAt, LastValidatedAt 时间戳
Task 7 - 存储服务:
- IReportStorageService 接口
- ReportStorageService 内存实现 (MVP 版)
- 支持保存/查询/删除报告
- 项目统计功能
WebAPI 项目:
- CodePlay.WebAPI 项目创建
- JWT 认证配置
- AuthController (login, refresh, me)
- ReportController (CRUD + stats)
- Swagger 集成
测试:39 个测试全部通过 ✅
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 09:24:38 +00:00 |
|
monkeycode-ai
|
cca683f35c
|
feat: 实现 Java 完整解析器和不可转换语法处理 (Task 2.2, 2.8)
Task 2.2 - Java 完整解析器:
- JavaParser: 支持包声明、导入语句、类/接口/枚举提取
- 提取方法、字段、构造函数、参数
- 提取单行/多行注释和 JavaDoc 文档
- 10 个单元测试全部通过
Task 2.8 - 不可转换语法处理:
- UnconvertibleSyntaxHandler: 检测 C# 特有语法
- 支持检测:async/await, LINQ, dynamic, var, yield, record 等
- 检测模式:空条件运算符.?,空合并??, 字符串插值$等
- 转换可行性评估:置信度评分和努力程度估算
- 自动生成 TODO 注释标记
- 3 个单元测试通过
Task 4.2 - API 认证:
- AuthController: JWT 认证端点 (login, refresh, me)
- Program.cs: JWT Bearer 认证配置
- Swagger 集成认证支持
总计:39 个测试全部通过 ✅
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 09:21:55 +00:00 |
|