LLVM/clang-tidy
表示
< LLVM
はじめに
[編集]clang-tidyは、Clangツールチェインの一部として提供される静的解析ツールであり、C++コードのバグ検出、スタイルチェック、リファクタリングを支援します。本ハンドブックでは、clang-tidy(1)の基本的な使い方から応用例までを解説します。
Clang-Tidyの概要
[編集]Clang-Tidyとは
[編集]clang-tidyは、コード品質向上のための静的解析ツール。- コーディングスタイルの適用、バグの検出、自動修正をサポート。
clang-apply-replacementsと組み合わせることで修正を自動適用可能。- ClangのASTを解析し、柔軟なカスタマイズが可能。
Clang-Tidyのインストール
[編集]FreeBSDでのインストール
[編集]FreeBSDのベースシステムにはclang-tidyは含まれていないので、パッケージをインストールします。
doas pkg install llvm
macOSでのインストール
[編集]$ brew install llvm
Linuxでのインストール (例: Debian系)
[編集]$ sudo apt install clang-tidy
基本的な使い方
[編集]ソースコードの解析
[編集]$ clang-tidy source.cpp --checks=* -warnings-as-errors=*
自動修正の適用
[編集]$ clang-tidy -fix source.cpp --checks=modernize-*
修正提案のエクスポート
[編集]$ clang-tidy -fix -export-fixes=fixes.yaml source.cpp
主要オプション
[編集]主要オプション オプション 説明 --checks=*使用するチェックを指定 -fix自動修正を適用 -export-fixes=FILE修正提案をYAMLファイルにエクスポート -warnings-as-errors=*指定した警告をエラーとして扱う -header-filter=REGEX指定したヘッダーに適用
応用例
[編集]プロジェクト全体への適用
[編集]$ run-clang-tidy -fix -checks=* my_project/
CI/CDでのコード品質チェック
[編集]$ clang-tidy source.cpp --checks=* > clang-tidy-report.txt
まとめ
[編集]本ハンドブックでは、clang-tidyの基本的な使い方、主要オプション、応用例について解説しました。コードの品質向上やリファクタリングの効率化に活用できます。