Skip to content

Commit ed0742d

Browse files
committed
refactor: 优化错误处理和代码质量
1. 添加公共函数 closeQuietly - 统一处理 io.Closer 的关闭和错误忽略 - 提高代码复用性和可维护性 2. 为自动生成的中间件函数添加 nolint 标记 - 对未使用的中间件函数添加 //nolint:unused 注释 - 避免删除自动生成的代码,保持代码生成器兼容性 3. 统一错误检查模式 - 所有 Close() 调用统一使用 closeQuietly 函数 - defer 使用 func() 包装来忽略错误 - 提高代码一致性 影响文件: - biz/service/service.go: 新增 closeQuietly 工具函数 - biz/service/runtime_service.go: 使用 closeQuietly - biz/service/transfer_service.go: 使用 closeQuietly - biz/router/transfer/middleware.go: 添加 nolint 标记
1 parent 683e788 commit ed0742d

File tree

7 files changed

+28
-15
lines changed

7 files changed

+28
-15
lines changed

biz/handler/version/version_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func fetchLatestGitHubRelease(ctx context.Context) (*version.GitHubReleaseInfo,
138138
if err != nil {
139139
return nil, fmt.Errorf("fetch release: %w", err)
140140
}
141-
defer resp.Body.Close()
141+
defer func() { _ = resp.Body.Close() }()
142142

143143
if resp.StatusCode != http.StatusOK {
144144
body, _ := io.ReadAll(resp.Body)

biz/router/transfer/middleware.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

biz/service/runtime_service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,14 @@ func (s *Service) writeRuntimeConfigArchive(ctx context.Context, runtimeData *ru
227227
zipPath := path.Join(filesPrefix, asset.FileID, asset.FileName)
228228
writer, err := zipWriter.CreateHeader(&zip.FileHeader{Name: zipPath, Method: zip.Deflate})
229229
if err != nil {
230-
file.Close()
230+
closeQuietly(file)
231231
return nil, err
232232
}
233233
if _, err := io.Copy(writer, file); err != nil {
234-
file.Close()
234+
closeQuietly(file)
235235
return nil, err
236236
}
237-
file.Close()
237+
closeQuietly(file)
238238
}
239239

240240
if err := zipWriter.Close(); err != nil {

biz/service/service.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7+
"io"
78
"net/http"
89
"os"
910
"path/filepath"
@@ -16,6 +17,13 @@ import (
1617
"gorm.io/gorm"
1718
)
1819

20+
// closeQuietly 安静地关闭资源,忽略错误
21+
func closeQuietly(closer io.Closer) {
22+
if closer != nil {
23+
_ = closer.Close()
24+
}
25+
}
26+
1927
const (
2028
dataDirectory = "data"
2129
uploadDirectory = "uploads"

biz/service/transfer_service.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ func (s *Service) ImportConfigsArchive(ctx context.Context, data []byte, targetE
212212
return nil, err
213213
}
214214
payload, err := io.ReadAll(rc)
215-
rc.Close()
215+
closeQuietly(rc)
216216
if err != nil {
217217
return nil, err
218218
}
@@ -320,7 +320,7 @@ func (s *Service) ImportConfigsArchive(ctx context.Context, data []byte, targetE
320320
continue
321321
}
322322
fileData, err := io.ReadAll(rc)
323-
rc.Close()
323+
closeQuietly(rc)
324324
if err != nil {
325325
continue
326326
}
@@ -1242,7 +1242,7 @@ func (s *Service) parseZip(data []byte) (map[string]any, error) {
12421242
return nil, err
12431243
}
12441244
payload, err := io.ReadAll(rc)
1245-
rc.Close()
1245+
closeQuietly(rc)
12461246
if err != nil {
12471247
return nil, err
12481248
}
@@ -1264,7 +1264,7 @@ func (s *Service) parseTarGz(data []byte) (map[string]any, error) {
12641264
if err != nil {
12651265
return nil, err
12661266
}
1267-
defer gzReader.Close()
1267+
defer func() { _ = gzReader.Close() }()
12681268

12691269
tarReader := tar.NewReader(gzReader)
12701270
for {
@@ -1409,7 +1409,7 @@ func (s *Service) importConfigsFromZip(ctx context.Context, data []byte, shouldI
14091409
return nil, err
14101410
}
14111411
payload, err := io.ReadAll(rc)
1412-
rc.Close()
1412+
closeQuietly(rc)
14131413
if err != nil {
14141414
return nil, err
14151415
}
@@ -1529,7 +1529,7 @@ func (s *Service) importConfigsFromZip(ctx context.Context, data []byte, shouldI
15291529
continue
15301530
}
15311531
fileData, err := io.ReadAll(rc)
1532-
rc.Close()
1532+
closeQuietly(rc)
15331533
if err != nil {
15341534
continue
15351535
}
@@ -1581,7 +1581,7 @@ func (s *Service) importConfigsFromTarGz(ctx context.Context, data []byte, shoul
15811581
if err != nil {
15821582
return nil, err
15831583
}
1584-
defer gzReader.Close()
1584+
defer func() { _ = gzReader.Close() }()
15851585

15861586
var allConfigs []*common.ResourceConfig
15871587
var archiveData map[string]any

main.go

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func Load(path string) (*Config, error) {
7878
}
7979
return nil, fmt.Errorf("open config: %w", err)
8080
}
81-
defer f.Close()
81+
defer func() { _ = f.Close() }()
8282

8383
var parsed Config
8484
decoder := yaml.NewDecoder(f)

0 commit comments

Comments
 (0)