Lint
Go コードの静的解析を実行し、検出された問題を自動修正してコード品質を向上させます。
引数
- •
--no-fix: 自動修正を無効化(検出のみ) - •
--help: ヘルプを表示
実行優先順位
- •
プロジェクトのタスクランナー設定(最優先)
- •
Taskfile.yml- lint タスクを自動検出 - •
Makefile- lint ターゲットを自動検出
- •
- •
設定ファイルベースの実行
- •
.golangci.ymlが存在する場合はgolangci-lint run
- •
- •
一般的な静的解析ツール
- •
golangci-lint- 複数のリンターを統合実行(推奨) - •
go vet- Go 標準の静的解析ツール
- •
実行手順
1. タスクランナー検出
bash
ls -la Taskfile.yml Makefile .golangci.yml 2>/dev/null
検出されるタスク名の例:
- •
lint,check,lint-go,go-lint - •
analyze,static-check,vet
2. 静的解析の実行
bash
# タスクランナーがある場合 task lint make lint # タスクランナーがない場合(自動修正あり) golangci-lint run --fix ./... # 自動修正なし golangci-lint run ./... go vet ./...
3. 結果レポート
code
✅ 静的解析完了
使用したツール: golangci-lint
検出された問題: {N} 件
自動修正された問題: {M} 件
手動修正が必要な問題: {K} 件
自動修正内容:
- {ファイル:行} {修正内容}
手動修正が必要な問題:
- {ファイル:行} {問題の説明}
推奨: {修正方法}
チェック項目の例
- •コードスタイル違反: フォーマット、命名規則
- •潜在的なバグ: nil ポインタ参照、未使用変数、型変換エラー
- •パフォーマンス問題: 不要なアロケーション、非効率なループ
- •セキュリティ問題: SQL インジェクション、安全でない乱数生成
- •保守性: 複雑度が高い関数、重複コード
重要な注意事項
- •✅ プロジェクトの既存設定を優先
- •✅ 自動修正可能な問題は修正
- •✅ 手動修正が必要な問題は詳細を報告
- •❌ 自動修正前にコミットまたはスタッシュを推奨