ether-docs/_archive/standards/DEVELOPMENT_PATTERNS.json

90 lines
3.4 KiB
JSON
Raw Permalink 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.

{
"patterns": {
"pat-2026-03-20-001": {
"name": "多模块Maven项目构建",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-20",
"category": "workflow",
"pattern": "子模块修改后必须执行 mvn install",
"problem": "修改子模块代码后启动类不加载新代码",
"solution": "执行 mvn install -pl {module} -am -DskipTests",
"quality_rules": [
"修改子模块后重新构建",
"启动前确认模块已安装"
]
},
"pat-2026-03-20-002": {
"name": "Spring Security自动配置冲突",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-20",
"category": "backend",
"pattern": "前后端分离项目需排除Security自动配置",
"problem": "自定义SecurityConfig不生效被默认配置覆盖",
"solution": "在application.yml排除SecurityFilterAutoConfiguration",
"quality_rules": [
"前后端分离项目禁用CSRF",
"使用JWT认证"
]
},
"pat-2026-03-20-003": {
"name": "前端登录状态判断",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-20",
"category": "frontend",
"pattern": "路由守卫需同时检查localStorage和store",
"problem": "token存储在localStorage但store初始化时为空",
"solution": "isLoggedIn()优先读取localStorage",
"quality_rules": [
"登录状态判断检查localStorage",
"Pinia store初始化时机可能晚于路由守卫"
]
},
"pat-2026-03-20-004": {
"name": "调试代码清理",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-20",
"category": "code_style",
"pattern": "上线前移除所有调试代码和日志",
"problem": "生产环境日志过多或泄露调试信息",
"solution": "移除console.log敏感日志改为debug级别",
"quality_rules": [
"上线前清理console.log",
"生产日志使用debug级别"
]
},
"pat-2026-03-20-005": {
"name": "测试账号密码管理",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-20",
"category": "workflow",
"pattern": "密码使用BCrypt格式并同步到文档",
"problem": "测试账号密码修改后忘记更新文档",
"solution": "使用BCryptPasswordEncoder生成同步到test-users.sql",
"quality_rules": [
"密码必须BCrypt加密",
"修改密码后更新文档"
]
},
"pat-2026-03-21-006": {
"name": "Spring Security 6 JWT认证实现",
"confidence": 0.95,
"applications": 1,
"created": "2026-03-21",
"category": "backend",
"pattern": "Spring Security 6的SessionCreationPolicy.STATELESS模式与JWT认证的冲突",
"problem": "使用STATELESS时SecurityContextHolderFilter会清空SecurityContext导致JWT认证被覆盖返回403",
"solution": "使用SessionCreationPolicy.IF_REQUIRED + HttpSessionSecurityContextRepositoryJWT Filter放在AuthorizationFilter之前",
"quality_rules": [
"Spring Security 6 JWT认证不要使用STATELESS模式",
"JWT Filter必须放在AuthorizationFilter之前",
"使用HttpSessionSecurityContextRepository保存认证上下文",
"从JWT claims中解析用户角色而非硬编码"
]
}
}
}