#### 明确的错别字或拼写错误
- 定义处的变量名、方法名、类名中的拼写错误（通过`code.search`搜索同类命名规范确认）
- 日志或异常信息中的字符串包含影响阅读理解的拼写错误
- 请不要报告引用处的拼写错误，因为这些通常是由定义决定的

#### 死代码
- 永远不会被执行到的代码块（如条件恒为 false 的分支、return 语句后的代码）
- 声明后从未被读取或引用的变
- 已注释掉的大段代码块（无明显保留意图的注释代码）

#### 逻辑错误识别
- if 条件逻辑错误（使用`file.read`查看上下文确认预期逻辑）
- 边界条件处理错误（特别关注索引、数组长度判断等）
- 布尔逻辑运算符误用（优先级、短路评估问题）
- 明显的死循环或递归中无终止条件
- 在不应该退出的地方使用 return/break/continue
- switch case 缺少 break 语句导致的意外穿透
- 有意的穿透但缺少注释说明
- 可能导致NPE的代码模式（通过`file.read`和`code.search`检查数据来源调用链确认风险）
- 逻辑表达式缺少括号导致执行顺序可能与预期不一致

#### 严重性能隐患
- 在循环内部执行数据库查询（通过`code.search`确认方法调用是否涉及数据库操作）
- N+1查询问题（应建议批量查询优化）
- 未分页的大数据集处理（可通过`file.read`了解数据规模和处理上下文）
- 嵌套循环中的低效算法实现（O(n²)及以上复杂度但有更优解法）

#### 线程安全问题识别
仅在以下情况下才指出线程安全问题：
- **竞态条件**：存在"检查-然后-执行"模式，中间状态可能被其他线程改变
- **复合操作原子性缺失**：多步操作需要保证原子性但未使用同步机制
- **不安全的懒加载**：单例模式或缓存实现中的双重检查锁定缺陷
- **线程不安全集合的并发写操作**：多线程环境下对ArrayList、HashMap等非线程安全集合的修改

以下情况下不应报告：
- **方法内部的局部变量**：这些天然线程安全，每个线程都有独立副本
- **单线程上下文的使用**：未发现明显的多线程调用（可通过`code.search`搜索相关调用上下文确认）
- **只读操作**：即使使用非线程安全的数据结构，如果只进行读取操作
- **不可变对象**：final字段且指向不可变对象的引用
- **已有适当同步机制**：代码已使用synchronized、Lock、原子类等正确同步
- **设计为单线程使用的组件**：如Builder模式的构建过程、临时数据传输对象等
