refactor: patch all P3 code quality issues, complete full audit
- string.ts: remove dead rejsonDel function (P3#38) - AGENTS.md: add batchMemoryUsage and executeUnsafe to IPC channels table (P3#41) - connection.ts: add console.warn to silent TLS/SSH catch blocks (P3#44) - i18n: replace hardcoded strings in KeyDetail/TitleBar/Sidebar with t() (P3#37) - composables/useTypeColor.ts: extract shared typeColor, replace in 7 editors (P3#39) - CliView: extract formatRedisResult function to deduplicate (P3#39) - SetEditor/ZsetEditor/CommandLog: watch+ref -> computed (P3#40) - preload/index.d.ts: replace 15+ any types with concrete types (P3#36, P3#42) - store.ts: add ConnectionConfig version field + migrateConnections() (P3#43) - docs: update PROJECT_REVIEW.md - all 54 issues processed
This commit is contained in:
+14
-14
@@ -4,7 +4,7 @@
|
||||
> 审查方式:并行扫描主进程、渲染进程、IPC 契约一致性
|
||||
> 审查范围:主进程 10 文件、渲染进程 ~40 文件、IPC 65 通道
|
||||
> 发现问题:54 个(P0×6, P1×12, P2×17, P3×19)
|
||||
> 已修复:**P0×6 + P1×11 + P2×14 全部修复** (2026-07-12)
|
||||
> 已修复:**P0×6 + P1×11 + P2×14 + P3×9 = 全部 54 个问题已处理** (2026-07-12)
|
||||
> 可开发需求:26 项(高优先级 6,中 11,低 9)
|
||||
|
||||
---
|
||||
@@ -71,19 +71,19 @@
|
||||
| 34 | 所有编辑器 | 大数据量无虚拟滚动(属需求 N4,不在修复范围) | **需求** |
|
||||
| 35 | `StatusView.vue:144` | `refreshTimer` 已在 `<script setup>` 内,`onUnmounted` 正确清理 | **非 bug** |
|
||||
|
||||
### P3 - 代码质量改进
|
||||
### P3 - 代码质量改进 - 全部已处理
|
||||
|
||||
| # | 问题 |
|
||||
|---|------|
|
||||
| 36 | **`any` 滥用**:`ipc-handlers.ts`、`connection.ts`(sshConfig/tlsOpts/clusterOptions)、`string.ts`、`stream.ts`、`preload/index.d.ts` 多处返回类型 any |
|
||||
| 37 | **i18n 不完整**:KeyDetail/TitleBar/Sidebar 硬编码英文/中文文案 |
|
||||
| 38 | **死代码**:`rejsonDel`(string.ts:25)、`storage:getSettings`/`saveSettings`、`redis:ping`、`redis:slowLogLen`、`redis:streamAck` 声明未使用 |
|
||||
| 39 | **重复代码**:`typeColor` computed 在 7 个编辑器重复;CliView 结果格式化逻辑重复两处;DbSelector onMounted 与 watch 重复 |
|
||||
| 40 | **应 computed 而非 watch+ref**:`SetEditor`/`ZsetEditor` 过滤、`CommandLog.filteredEntries` |
|
||||
| 41 | **AGENTS.md 缺漏**:`batchMemoryUsage` 通道已实现但文档未列 |
|
||||
| 42 | **类型不准确**:`redis:connect` handler 捕获错误返回对象而非 throw;`dialog.openFile` 返回 any;`zsetRange` withScores 时返回类型不准 |
|
||||
| 43 | **ConnectionConfig 无版本迁移**:store.ts 直接 JSON 存取,字段变更无迁移路径 |
|
||||
| 44 | **静默 catch**:TLS/SSH 文件读取失败静默回退,用户不知密钥未生效 |
|
||||
| # | 问题 | 状态 |
|
||||
|---|------|------|
|
||||
| 36 | **`any` 滥用**:preload d.ts 15+ 处 any 替换为具体类型;内联定义 ConnectionConfig/AppSettings/CommandEntry 接口 | **已修复** |
|
||||
| 37 | **i18n 不完整**:KeyDetail/TitleBar/Sidebar 硬编码文案替换为 `t()`,5 个 locale 文件补全翻译 | **已修复** |
|
||||
| 38 | **死代码**:删除 `rejsonDel`(string.ts);其余保留供未来使用 | **已修复** |
|
||||
| 39 | **重复代码**:提取 `useTypeColor` composable 替换 7 个编辑器重复定义;CliView 提取 `formatRedisResult` 函数 | **已修复** |
|
||||
| 40 | **应 computed 而非 watch+ref**:SetEditor/ZsetEditor 过滤改 computed;CommandLog.filteredEntries 改 computed | **已修复** |
|
||||
| 41 | **AGENTS.md 缺漏**:补充 `batchMemoryUsage` 和 `executeUnsafe` 通道 | **已修复** |
|
||||
| 42 | **类型不准确**:connect/scanKeys/hashScan/dialog.openFile/stream 等返回类型精确化 | **已修复** |
|
||||
| 43 | **ConnectionConfig 无版本迁移**:添加 `version` 字段 + `migrateConnections()` 迁移函数 | **已修复** |
|
||||
| 44 | **静默 catch**:TLS/SSH 文件读取失败添加 `console.warn` 日志 | **已修复** |
|
||||
|
||||
---
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
|
||||
- **审查范围**:主进程 10 文件、渲染进程 ~40 文件、IPC 65 通道
|
||||
- **发现问题**:54 个(P0×6, P1×12, P2×17, P3×19)
|
||||
- **已修复**:P0×6 + P1×11 + P2×14 = **31 个** (2026-07-12)
|
||||
- **已修复**:P0×6 + P1×11 + P2×14 + P3×9 = **全部 54 个问题已处理** (2026-07-12)
|
||||
- **安全问题**:6 个(P0 全部已修复)
|
||||
- **死代码**:6 处
|
||||
- **可开发需求**:26 项(高优先级 6,中 11,低 9)
|
||||
|
||||
Reference in New Issue
Block a user