"chore(data): 移除b.csv测试数据文件"
This commit is contained in:
126000
help/b.csv
Normal file
126000
help/b.csv
Normal file
File diff suppressed because it is too large
Load Diff
24
help/gotidy.sh
Normal file
24
help/gotidy.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
# 获取脚本所在目录
|
||||
DIR=$(
|
||||
cd "$(dirname "$0")"
|
||||
pwd
|
||||
)
|
||||
|
||||
find $DIR -name "go.mod" | while read line; do
|
||||
# 获取go.mod文件所在目录
|
||||
MOD_DIR=$(dirname $line)
|
||||
echo "MOD_DIR: $MOD_DIR/go.mod"
|
||||
cd $MOD_DIR
|
||||
go get -u
|
||||
go mod tidy
|
||||
done
|
||||
|
||||
# go get -u
|
||||
# go mod tidy
|
||||
|
||||
# cd cool-tools
|
||||
# go get -u
|
||||
# go mod tidy
|
||||
34
help/gowork.sh
Normal file
34
help/gowork.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
# 在指定目录初始化一个go 的 workspace, 并将所有子模块加入 go workspace
|
||||
# 如果指定的目录不存在, 则创建目录
|
||||
# 如果未指定目录, 则使用当前目录
|
||||
# Usage: gowork.sh [dir]
|
||||
# Author: LiDong
|
||||
# Date: 2022-11-04
|
||||
|
||||
# 设置出错退出
|
||||
set -e
|
||||
|
||||
# 设置默认目录
|
||||
dir="."
|
||||
|
||||
# 如果有参数, 则使用参数作为目录
|
||||
if [ $# -gt 0 ]; then
|
||||
dir=$1
|
||||
fi
|
||||
|
||||
# 如果目录不存在, 则创建目录
|
||||
if [ ! -d $dir ]; then
|
||||
mkdir -p $dir
|
||||
fi
|
||||
|
||||
# 进入目录
|
||||
cd $dir
|
||||
|
||||
# 如果目录下没有go.work, 则创建
|
||||
if [ ! -f go.work ]; then
|
||||
go work init
|
||||
fi
|
||||
|
||||
# 将目录下的所有子模块加入go workspace
|
||||
go work use -r .
|
||||
31
help/mock生成用户.sql
Normal file
31
help/mock生成用户.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
INSERT INTO base_sys_user (
|
||||
"createTime",
|
||||
"updateTime",
|
||||
deleted_at,
|
||||
"departmentId",
|
||||
username,
|
||||
password,
|
||||
"headImg",
|
||||
email,
|
||||
remark
|
||||
) SELECT
|
||||
-- 过去90天内的随机创建时间
|
||||
CURRENT_TIMESTAMP - (random() * 90 * 86400 || ' seconds')::interval,
|
||||
-- updateTime初始与createTime一致
|
||||
CURRENT_TIMESTAMP - (random() * 90 * 86400 || ' seconds')::interval,
|
||||
NULL, -- 未删除
|
||||
-- 随机部门ID(1-100)
|
||||
floor(random() * 100) + 1,
|
||||
-- 随机用户名(mock_前缀+8位随机串)
|
||||
CONCAT('mock_', SUBSTRING(md5(random()::text), 1, 8)),
|
||||
md5('123456'), -- 固定密码
|
||||
'https://example.com/headimg/default.png', -- 统一默认头像
|
||||
-- 随机邮箱(mock_前缀+8位随机串+随机域名)
|
||||
CONCAT(
|
||||
'mock_',
|
||||
SUBSTRING(md5(random()::text), 1, 8),
|
||||
'@',
|
||||
(array['qq.com', '163.com', 'gmail.com'])[floor(random()*3)+1]
|
||||
),
|
||||
'批量生成的测试用户'
|
||||
FROM generate_series(1, 1000); -- 10万条
|
||||
99
help/report.md
Normal file
99
help/report.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 屎山代码分析报告
|
||||
|
||||
## 总体评估
|
||||
|
||||
- **质量评分**: 31.03/100
|
||||
- **质量等级**: 🌸 偶有异味 - 基本没事,但是有伤风化
|
||||
- **分析文件数**: 203
|
||||
- **代码总行数**: 20972
|
||||
|
||||
## 质量指标
|
||||
|
||||
| 指标 | 得分 | 权重 | 状态 |
|
||||
|------|------|------|------|
|
||||
| 状态管理 | 4.84 | 0.15 | ✓✓ |
|
||||
| 循环复杂度 | 6.28 | 0.25 | ✓✓ |
|
||||
| 命名规范 | 25.00 | 0.10 | ✓ |
|
||||
| 错误处理 | 35.00 | 0.15 | ○ |
|
||||
| 代码结构 | 45.00 | 0.20 | ○ |
|
||||
| 代码重复度 | 55.00 | 0.15 | • |
|
||||
| 注释覆盖率 | 55.94 | 0.15 | • |
|
||||
|
||||
## 问题文件 (Top 5)
|
||||
|
||||
### 1. /workspace/blazing/common/utils/sturc/field.go (得分: 53.85)
|
||||
**问题分类**: 🔄 复杂度问题:10, 📝 注释问题:1, ⚠️ 其他问题:5
|
||||
|
||||
**主要问题**:
|
||||
- 函数 Size 的循环复杂度较高 (12),建议简化
|
||||
- 函数 packVal 的循环复杂度过高 (23),考虑重构
|
||||
- 函数 Pack 的循环复杂度较高 (14),建议简化
|
||||
- 函数 unpackVal 的循环复杂度过高 (21),考虑重构
|
||||
- 函数 Unpack 的循环复杂度较高 (12),建议简化
|
||||
- 函数 'Size' () 较长 (33 行),可考虑重构
|
||||
- 函数 'Size' () 复杂度过高 (12),建议简化
|
||||
- 函数 'packVal' () 过长 (69 行),建议拆分
|
||||
- 函数 'packVal' () 复杂度严重过高 (23),必须简化
|
||||
- 函数 'Pack' () 较长 (48 行),可考虑重构
|
||||
- 函数 'Pack' () 复杂度过高 (14),建议简化
|
||||
- 函数 'unpackVal' () 过长 (57 行),建议拆分
|
||||
- 函数 'unpackVal' () 复杂度严重过高 (21),必须简化
|
||||
- 函数 'Unpack' () 较长 (33 行),可考虑重构
|
||||
- 函数 'Unpack' () 复杂度过高 (12),建议简化
|
||||
- 代码注释率极低 (1.38%),几乎没有注释
|
||||
|
||||
### 2. /workspace/blazing/common/utils/sturc/fields.go (得分: 46.83)
|
||||
**问题分类**: 🔄 复杂度问题:4, 📝 注释问题:1, ⚠️ 其他问题:2
|
||||
|
||||
**主要问题**:
|
||||
- 函数 Pack 的循环复杂度较高 (12),建议简化
|
||||
- 函数 Unpack 的循环复杂度过高 (21),考虑重构
|
||||
- 函数 'Pack' () 较长 (42 行),可考虑重构
|
||||
- 函数 'Pack' () 复杂度过高 (12),建议简化
|
||||
- 函数 'Unpack' () 过长 (73 行),建议拆分
|
||||
- 函数 'Unpack' () 复杂度严重过高 (21),必须简化
|
||||
- 代码注释率极低 (3.91%),几乎没有注释
|
||||
|
||||
### 3. /workspace/blazing/common/utils/sturc/parse.go (得分: 46.68)
|
||||
**问题分类**: 🔄 复杂度问题:4, 📝 注释问题:1, ⚠️ 其他问题:3
|
||||
|
||||
**主要问题**:
|
||||
- 代码注释率较低 (6.93%),建议增加注释
|
||||
- 函数 parseField 的循环复杂度较高 (13),建议简化
|
||||
- 函数 parseFieldsLocked 的循环复杂度过高 (18),考虑重构
|
||||
- 函数 'parseField' () 过长 (64 行),建议拆分
|
||||
- 函数 'parseField' () 复杂度过高 (13),建议简化
|
||||
- 函数 'parseFieldsLocked' () 过长 (64 行),建议拆分
|
||||
- 函数 'parseFieldsLocked' () 复杂度严重过高 (18),必须简化
|
||||
- 函数 'parseFields' () 较长 (31 行),可考虑重构
|
||||
|
||||
### 4. /workspace/blazing/common/utils/xml/typeinfo.go (得分: 46.13)
|
||||
**问题分类**: 🔄 复杂度问题:6, ⚠️ 其他问题:3
|
||||
|
||||
**主要问题**:
|
||||
- 函数 getTypeInfo 的循环复杂度过高 (18),考虑重构
|
||||
- 函数 structFieldInfo 的循环复杂度过高 (33),考虑重构
|
||||
- 函数 addFieldInfo 的循环复杂度过高 (20),考虑重构
|
||||
- 函数 'getTypeInfo' () 过长 (58 行),建议拆分
|
||||
- 函数 'getTypeInfo' () 复杂度严重过高 (18),必须简化
|
||||
- 函数 'structFieldInfo' () 极度过长 (114 行),必须拆分
|
||||
- 函数 'structFieldInfo' () 复杂度严重过高 (33),必须简化
|
||||
- 函数 'addFieldInfo' () 过长 (66 行),建议拆分
|
||||
- 函数 'addFieldInfo' () 复杂度严重过高 (20),必须简化
|
||||
|
||||
### 5. /workspace/blazing/common/utils/go-jsonrpc/auth/handler.go (得分: 45.61)
|
||||
**问题分类**: 📝 注释问题:1, ⚠️ 其他问题:1
|
||||
|
||||
**主要问题**:
|
||||
- 函数 'ServeHTTP' () 较长 (31 行),可考虑重构
|
||||
- 代码注释率极低 (0.00%),几乎没有注释
|
||||
|
||||
## 改进建议
|
||||
|
||||
### 高优先级
|
||||
- 继续保持当前的代码质量标准
|
||||
|
||||
### 中优先级
|
||||
- 可以考虑进一步优化性能和可读性
|
||||
- 完善文档和注释,便于团队协作
|
||||
|
||||
10
help/查询在线时长.sql
Normal file
10
help/查询在线时长.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
SELECT
|
||||
player_id,
|
||||
(data->>'online_time')::int AS online_time
|
||||
FROM "player_info"
|
||||
-- 替换?操作符,用jsonb_exists函数判断online_time字段是否存在
|
||||
WHERE
|
||||
jsonb_exists(data, 'online_time') -- 等价于 data ? 'online_time',无占位符冲突
|
||||
AND (data->>'online_time')::int > 0
|
||||
-- 按在线时间降序排序
|
||||
ORDER BY online_time DESC;
|
||||
9
help/给经验池增加.sql
Normal file
9
help/给经验池增加.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
UPDATE "player_info"
|
||||
SET data = jsonb_set(
|
||||
data,
|
||||
'{exp_pool}',
|
||||
-- 直接复用查询中的计算逻辑,确保结果一致
|
||||
to_jsonb(COALESCE((data->>'exp_pool')::int, 0) + 50000000),
|
||||
true -- 字段不存在时自动初始化为10
|
||||
)
|
||||
WHERE player_id = 10001;
|
||||
Reference in New Issue
Block a user