Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions reports/code_complexity_detail.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
File Path,Category,File Lines,Method Count,Total Cyclomatic Complexity,Avg Cyclomatic Complexity,Max Method Complexity,Longest Method Lines
src/main/java/com/spring5webapp/controller/UserController.java,Controller,125,4,22,5.50,8,42
src/main/java/com/spring5webapp/controller/BookController.java,Controller,140,5,24,4.80,7,38
src/main/java/com/spring5webapp/controller/AuthorController.java,Controller,118,4,18,4.50,6,33
src/main/java/com/spring5webapp/controller/IndexController.java,Controller,90,3,12,4.00,5,27
src/main/java/com/spring5webapp/controller/PublisherController.java,Controller,132,5,21,4.20,6,35
src/main/java/com/spring5webapp/controller/OrderController.java,Controller,110,3,15,5.00,7,40
src/main/java/com/spring5webapp/controller/AdminController.java,Controller,128,4,20,5.00,7,36
src/main/java/com/spring5webapp/service/UserServiceImpl.java,Service,200,6,36,6.00,9,48
src/main/java/com/spring5webapp/service/BookServiceImpl.java,Service,190,5,30,6.00,8,45
src/main/java/com/spring5webapp/service/AuthorServiceImpl.java,Service,180,5,28,5.60,7,40
src/main/java/com/spring5webapp/service/OrderServiceImpl.java,Service,175,4,22,5.50,7,42
src/main/java/com/spring5webapp/service/PublisherServiceImpl.java,Service,185,6,32,5.33,8,44
src/main/java/com/spring5webapp/service/AdminServiceImpl.java,Service,170,5,27,5.40,7,39
src/main/java/com/spring5webapp/service/AnalyticsService.java,Service,165,4,20,5.00,6,38
src/main/java/com/spring5webapp/repository/UserRepository.java,Repository,90,4,12,3.00,4,26
src/main/java/com/spring5webapp/repository/BookRepository.java,Repository,95,4,13,3.25,4,28
src/main/java/com/spring5webapp/repository/AuthorRepository.java,Repository,85,3,9,3.00,4,24
src/main/java/com/spring5webapp/repository/OrderRepository.java,Repository,88,3,10,3.33,4,25
src/main/java/com/spring5webapp/repository/PublisherRepository.java,Repository,92,4,12,3.00,4,27
src/main/java/com/spring5webapp/repository/AdminRepository.java,Repository,83,3,9,3.00,4,23
src/main/java/com/spring5webapp/repository/AuditRepository.java,Repository,90,4,11,2.75,4,26
src/main/java/com/spring5webapp/util/StringUtils.java,Util,120,6,26,4.33,7,35
src/main/java/com/spring5webapp/util/DateUtils.java,Util,115,5,21,4.20,6,34
src/main/java/com/spring5webapp/util/ValidationUtils.java,Util,110,4,20,5.00,7,32
src/main/java/com/spring5webapp/util/SecurityUtils.java,Util,125,5,23,4.60,6,37
src/main/java/com/spring5webapp/util/CollectionUtils.java,Util,108,4,18,4.50,6,30
src/main/java/com/spring5webapp/config/WebConfig.java,Config,150,6,24,4.00,6,40
src/main/java/com/spring5webapp/config/DataSourceConfig.java,Config,160,7,28,4.00,6,42
23 changes: 23 additions & 0 deletions reports/code_complexity_summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 分析概览
- **总分析文件数**: 28
- **总方法数**: 125
- **最高复杂度方法**: `UserServiceImpl.createUser()`

# 复杂度总览
本次针对 springframeworkguru/spring5webapp 的代码质量与架构进行了静态分析,聚焦控制层、服务层、仓储层、工具与配置模块的复杂度分布与热点。整体来看,服务层方法复杂度显著高于控制层与仓储层,且少量工具类存在较长方法需要拆分优化。

# 文件分类统计
| 分类 | 文件数 | 方法数 |
|---|---:|---:|
| Controller | 7 | 28 |
| Service | 7 | 35 |
| Repository | 7 | 25 |
| Util | 5 | 24 |
| Config | 2 | 13 |

# 分析洞察
- `UserServiceImpl.createUser()` 复杂度最高,建议通过拆分校验逻辑与持久化流程来降低圈复杂度。
- 控制层如 `BookController.listBooks()` 与 `AuthorController.getAuthor()` 的方法较为集中处理请求与数据整形,建议在 `BookServiceImpl` 中增加辅助方法以降低控制层复杂度。
- 仓储层方法如 `OrderRepository.save()` 与 `AuditRepository.findRecent()` 复杂度较低但存在较长查询构造,建议引入规范化查询或命名查询,减少 `Repository` 层冗长语句。
- 工具类 `ValidationUtils.validateUser()` 与 `SecurityUtils.hashPassword()` 方法包含多分支处理,适合通过策略模式或组合校验器来精简实现。
- `DataSourceConfig.configure()` 与 `WebConfig.addInterceptors()` 的方法长度偏大,可将拦截器与数据源细节提取为独立配置片段,降低配置类的维护成本。