polyester

Results 20 comments of polyester

追加コードについてはこれから用意します。 もし日程的に実装会に参加できるようなら、そこで作業しようと思います。

コーディング規約を細かく設定できる点から、clang-formatを使用する予定です。 もし別のツールが良いなどの意見がありましたら、コメントをお願いします。

clang-formatを試しに使ってみたところ、一部のルールだけチェックするようなことはできないようです。 例えば、ポインタや参照の位置( ``int* a;`` もしくは `` int *a;`` )の違い、``#include ``が``# include ``となっていることなどもすべて警告として表示されることが分かりました。 できるだけ既存のコードで警告を出さないようにしたいのですが、警告を出さないようにオプションを調整するところで手間取っています。

0から書き直すタイミングなら問題なく導入できそうですね。 導入する際は、.clang-formatでコーディング規約を設定していただけるとスムーズにlinterを設定できると思います。よろしくお願いします。

参考までに、現在設定している.clang-formatオプションです。完全に同じではありませんが、今のSiv3Dのソースコードに近い記法にフォーマットできます。 ``` Language: Cpp BasedOnStyle: LLVM Standard: c++20 UseTab: ForIndentation NamespaceIndentation: All TabWidth: 1 IndentWidth: 1 PointerAlignment: Left BreakBeforeBraces: Allman AllowShortIfStatementsOnASingleLine: false IndentCaseLabels: false ColumnLimit: 0 AccessModifierOffset: -1 FixNamespaceComments: false...

``# include``は空白を残すオプションを探しているのですがまだ見つけられていません・・・ 他にも、1行に複数の文があるコードは読みやすいとしても許容されないようです。 https://github.com/Siv3D/OpenSiv3D/blob/03667011e99263c6609f19c83800e5f6627cc4cc/Siv3D/src/Siv3D/AnimatedGIFReader/AnimatedGIFReaderDetail.cpp#L30

別のツールについても調査したところ、[editorconfig-checker](https://github.com/editorconfig-checker/editorconfig-checker) というツールのほうが向いていることが分かりました。 何が良いかというと、設定した一部のルールだけをチェックしてくれるので、既存のコードでエラーが出にくい点です。 チェックできるのは以下の6つです。 - ``end_of_line``: 改行文字をlf, crlf, crのいずれかに統一 - ``insert_final_newline``:ファイルの末尾を改行で終わらせる - ``trim_trailing_whitespace``:行末から空白を削除 - ``indent_style``:インデントをタブまたはスペースに統一 - ``indent_size``:インデントは何文字分かを設定 - ``max_line_length``:1行あたりの文字数を制限 clang-formatとは異なり、一部のルールを無視することも可能です。 やや機能は少なめですが、最低限の自動的な確認には役立つと思います。

分かりました。よろしくお願いします。

https://github.com/polyester-CTRL/ci-practice 作りました。mainブランチにプルリクエストを出す、またはプッシュするとlinterが走ります。

index.mdを作ってそこに書き込むと、飛ばす先は https://kenkoooo.com/atcoder/book/index.html のままで案内を書けるみたいです。書いてみます。