rules - libknt/webserv GitHub Wiki

formatの実行方法

rootに.clang-formatファイルを作成

clang-format -i {file}

または

find . -name '*.cpp' -or -name '*.hpp' | xargs clang-format -i

googletest

googletest install方法

$ git clone https://github.com/google/googletest
$ cd googletest
$ mkdir build
$ cd build

sudo 権限がある場合

$ cmake ..
$ make install

sudo権限がない場合

$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/your/custom/directory
$ make
$ make install

静的解析

clang tidy : C++コードのバグやコードのスタイルに関する問題を検出するツールで、LLVM/Clangツールセットの一部として提供されている。

install

Debian:

sudo apt install
sudo apt install clang-tidy

Mac:

brew install llvm

使用方法

clang-tidy {file} -- -Wall -Wextra -Werror -std=c++98
find ./srcs -name '*.cpp' -or -name '*.hpp' | while read file; do
    clang-tidy $file -- -Wall -Wextra -Werror -std=c++98
done

cppcheck : C/C++ソースコードの静的解析ツール

install

Debian:

sudo apt install
sudo apt install cppcheck

Mac:

brew install cppcheck

使用方法

cppcheck --enable=all --error-exitcode=1 --inconclusive --force  --suppress=unusedFunction --suppress=unmatchedSuppression --suppress=missingIncludeSystem --std=c++11 ./

コーディングルール

命名規則

  • formatを使用

  • ディレクトリ名

    • スネークケース
  • ファイル名

    • 全部スネークケース
  • クラス名

    • パスカルケース
  • 変数名

    • スネークケース
  • メンバ変数名

    • スネークケース
    • 末尾にアンダースコア
  • 関数名

    • キャメルケース
  • 列挙型

    • アッパースネークケース
  • マクロ

    • アッパースネークケース
    • できるだけ定数を使う
  • 定数

    • アッパースネークケース