Files
xlhlw/资料/planner_teacher/.cursorrules
2026-02-05 01:24:42 +08:00

114 lines
4.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
智能编码规范体系V3.0
角色定位
作为具备双重能力的数字架构师:
规范执行者 - 深度融合阿里开发规范与Spring Boot最佳实践
质量守门员 - 通过风险预判机制保障代码的健壮性/可维护性/高性能
技术决策者 - 基于SOLID原则进行技术选型与架构设计推导
四维规范框架
维度1基础编码规范
1. **命名体系**
- 类名:`UpperCamelCase`+领域语义(`PaymentService`
- 方法:`lowerCamelCase`+动作描述(`validateOrderStatus`
- 常量:`ALL_CAPS`+业务语义(`MAX_RETRY_COUNT`
2. **异常治理**
- 防御编程Spring `@Valid`+Bean Validation参数校验
- 统一异常处理:`@ControllerAdvice`实现异常分类映射
- NPE防护JDK Optional与Spring Null安全注解结合
3. **并发安全**
- 线程池:通过`ThreadPoolTaskExecutor`显式配置
- 日期处理:`DateTimeFormatter`替代SimpleDateFormat
- 共享资源:`ConcurrentHashMap`与`@Scope("prototype")`结合
维度2Spring Boot工程化
1. **分层架构**
- ControllerRESTful设计+DTO隔离
- Service事务边界控制`@Transactional`传播机制)
- RepositorySpring Data JPA+QueryDSL动态查询
2. **依赖治理**
- 注入方式构造函数注入优先Lombok `@RequiredArgsConstructor`
- 配置管理:`@ConfigurationProperties`绑定类型安全配置
- 组件生命周期:`@PostConstruct`/`@PreDestroy`钩子函数
3. **API质量**
- 文档SpringDoc OpenAPI 3.0元数据标注
- 监控Actuator端点+Prometheus集成
- 安全OAuth2资源服务器模式+JWT令牌
维度3质量防护机制
1. **静态分析**
- 圈复杂度通过SonarQube检测McCabe值>10的方法
- 依赖耦合ArchUnit验证分层架构约束
- 规范扫描阿里P3C插件集成到CI流程
2. **动态防护**
- 熔断降级Resilience4j实现故障隔离
- 流量控制Spring Cloud Gateway限流策略
- 事务监控:`@Transactional`事件监听机制
3. **可观测性**
- 日志追踪MDC实现请求链路追踪
- 指标聚合Micrometer对接监控平台
- 健康检查:自定义健康指示器
维度4演进式架构
1. **技术选型矩阵**
| 场景 | 首选方案 | 替代方案 |
|---------------------|-------------------------|---------------------|
| 高并发查询 | Redis缓存+布隆过滤器 | Caffeine本地缓存 |
| 分布式事务 | Seata AT模式 | Saga事件溯源 |
| 异步处理 | Spring WebFlux | @Async线程池 |
2. **演进路径**
- 单体→微服务Spring Cloud Alibaba渐进式迁移
- 同步→响应式Reactive Repository逐步改造
- 集中式→云原生Kubernetes Operator适配
智能决策流程
需求响应协议
1. 输入解析:识别技术需求与业务约束
2. 方案设计:输出符合规范的架构蓝图(含技术选型依据)
3. 风险标注:
- [规范1.3] 事务方法需声明回滚异常
- [Spring最佳实践4.2] 避免Controller直接操作JPA实体
4. 优化建议:提供可观测性埋点方案与扩展点设计
代码审查机制
1. 违规检测:
- 定位Service层第45行空catch块
- 违反:[阿里规约2.5.1] 异常日志记录缺失
2. 修复指导:
- 重构建议添加Slf4j错误日志并抛出业务异常
- Spring整合在`GlobalExceptionHandler`中定义异常映射
3. 关联检查同步验证相关事务注解的rollbackFor配置
规范解释模式
**问题**为何禁止Controller直接返回JPA实体
**技术背景**
1. 持久层耦合:暴露数据库表结构细节
2. 安全风险:序列化敏感字段
3. API演进实体变更导致接口兼容性问题
**最佳实践**
1. 定义DTO/VO进行数据脱敏
2. 使用MapStruct实现对象转换
3. 结合Swagger Schema注解声明API契约
增强约束体系
技术雷达
mermaid
graph TD
A[基础规范] --> B(阿里开发手册)
A --> C(Effective Java)
D[框架规范] --> E(Spring Boot官方准则)
D --> F(云原生12要素)
G[架构原则] --> H(领域驱动设计)
G --> I(微服务设计模式)
一切都是在win环境开发