C Countプロジェクトのためのコードフォーマット
TLドクター
コードフォーマットの問題点を特定するためにコードレビュー時間を使用するようになるのは、生産的ではなく持続可能である.
だから、このブログの記事では、次のように示します.
このコード整形検証ステップへのより良いアプローチ
dotnet format
ツール、なぜ、私は私のプロジェクトでコード整形検証を改善しなければなりませんか?
プロジェクト(特に長年の人生と多くの人々が参加している人々)の一貫したフォーマットを確実にすることは、挑戦です.
プロジェクトは、この書式設定プロセスを支援するためのツールを使用しない場合は、多くの人々の注意と意志に応じてチェックを終了します.
さらに、人々がコードフォーマットの問題を指摘するためにコードレビューの時間を使うようにすることは、生産的であるか持続可能ではない.
どのようにより良い方法でそれを行うことができますか?
C Countプロジェクトを一貫して書式設定スタイルを適用するには、グローバルDOTNETツールを使用できます.dotnet-format .
The
dotnet-format
ツールは.editorconfig
プロジェクトに書式設定を適用する設定ファイル.The
.editorconfig
複数の開発者のための一貫したコーディングスタイルを定義し維持するためのファイル形式です.良いオプションは一緒にチームを持って、混乱を避けるために採用される設定を明確にすることです.
を持つ
.editorconfig
は、構成ファイルを使用すると、登録することが可能ですので、履歴を維持し、チームが採用した基準を追跡するのに便利です.どのように起動するかわからない場合は、使用することができますthis .editorconfig file マイクロソフトドキュメントで利用可能です.
DotNet形式ツールを使用してコードの書式設定を適用する方法
The
dotnet format
コマンドをローカルで実行することができますチェックして、定義済みの標準に準拠していないコードを修正します.それ以上に、コード整形検証をCIに追加することができます.自動的に継続的にプロジェクトに適用されている書式設定を確認します.
ローカル環境での実行
取り付ける
dotnet-format
以下のコマンドを実行します. dotnet tool install -g dotnet-format
プロジェクトの書式設定が.editorconfig
設定できます. dotnet format '.\' --folder --check --verbosity diagnostic
上記のコマンドで--folder
オプションはパスがフォルダとして扱われることを示します--check
オプションは、これが検証であると言います-プロジェクトコードは変更されません/フォーマットからの逸脱.editorconfig
設定が見つかります--verbosity diagnostic
オプションは実行ログをできるだけ冗長にするために使用されます.--check
前のコマンドからのオプション dotnet format '.\' --folder --verbosity diagnostic
あなたが走るためのより多くのオプションを知りたいならばdotnet format
, あなたはofficial documentation .コードの書式設定を自動化するには、Githubアクションを使用できます
GitHubアクションの作成は、
dotnet-format.yml
ファイル:< div >
< p >
DOTNETフォーマットを理解すること。MYLギタブアクション
以下のステップで説明します
dotnet-format.yml
ファイル:< p >< OL >
< tag > github actionの名前を定義します.br/>
<> P >
name: dotnet format
< p >アクションは、
.editorconfig
CかCのソースファイル(**.cs
).<> P >
on:
push:
paths:
- "**.cs"
- ".editorconfig"
として、この場合、我々はAを扱っています.NET Flat Frameworkプロジェクト- Windowsで開発、コンパイル、公開されます.この環境を使用してコードの書式設定をチェックします
crlf
行の設定も終了します).br/><> P >
jobs:
check-format:
runs-on: windows-latest
次の項目で詳細に実行されるすべてのステップをグループ化するセクションを定義しますbr/>
<> P >
steps:
< tt > dotnet CLIの後の使用のためにdotnetコアを設定します.我々のプロジェクトですが.NET完全なフレームワーク、私たちはそれのためにいくつかのグローバルなdotnet CLIツールを使用することができましたbr/>
<> P >
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '5.0.x'
<インストール>
dotnet-format
後で使用するためのツールbr/><> P >
- name: Install dotnet-format tool
run: dotnet tool install -g dotnet-format
< tt >コードをチェックアウトしますbr/>
<> P >
- name: Check out code
uses: actions/checkout@v2
を実行する
dotnet format
コマンドを指定したパスに対して、コード整形をチェックするだけでなく、詳細な実行報告を得るために最大の冗長度を設定します.br/><> P >
- name: Run dotnet format
run: dotnet format '.\' --folder --check --verbosity diagnostic
結果
コード整形検証ステップを実行した後、
.editorconfig
ファイルまたは任意のC**.cs
) Github action実行の結果を見るにはp >< H >>
故障❌
<高橋潤子>
<高橋潤子> Githubアクションの失敗をシミュレートするために、プロジェクトリポジトリにフォーマットされていないコードを追加しました
<高橋潤子>
.editorconfig
設定のため、不正なコード間隔に関するエラーメッセージを得ました....
D:\a\dotnet-full-framework-ci-sandbox\dotnet-full-framework-ci-sandbox\src\Sandbox.WebAPI\Controllers\ValuesController.cs(10,45): error WHITESPACE: Fix whitespace formatting. Insert '\s'. [D:\a\dotnet-full-framework-ci-sandbox\dotnet-full-framework-ci-sandbox]
D:\a\dotnet-full-framework-ci-sandbox\dotnet-full-framework-ci-sandbox\src\Sandbox.WebAPI\Controllers\ValuesController.cs(10,46): error WHITESPACE: Fix whitespace formatting. Insert '\s'. [D:\a\dotnet-full-framework-ci-sandbox\dotnet-full-framework-ci-sandbox]
...
チェック失敗はプルリクエストに表示されました
<堀田>here .
< H >>
成功✔️
<高橋潤子>
私たちはコードフォーマットを修正しました
dotnet format
ツールp >< P >
コードが修正された後、PR画面上で直接見ることができます.p >
< P >
< tt >実行中の完全なログを見ることができますhere
プロジェクト
プロジェクトは興味がありますか?これはすべてのコードが利用可能なリポジトリです
<> P >
< div class ="ltag github readmeタグ"
< div class ="readme概要"
フェリペトフォリ / 完全なフレームワークCIサンドボックス
< div >
< div class ="ltag github本体"
< div class ="md "データパス="README . md "> < articleクラス="Markdown Body Entry Content Container LG "itemProp = "text "
ギタブアクション.NETフルフレームワーク
< P >
このリポジトリでは、Githubアクションを作成する方法を示します.
<ウル>
ビルドとテスト.NET Framework Web APIプロジェクト
< p >−< p >
エイリアス= "ブラジル"フォールバックsrc = "https://github.githubassets.com/images/icons/emoji/unicode/1f1e7-1f1f7.png」🇧🇷oプロップは、sito desteリポジトリを示します.ネットフルフレームワーク, etapas deとして
<ウル>
ビルドEテスターda aplicaの
<山田>
< div >
< br/>
< div class ="GH BTNコンテナ"View on GitHub < br/>
< div >
< br/>
結論🎯
< tt >大きなコードベースを維持し、その品質を保証し、定義されているフォーマット規格に適合することは大きな課題です.p >
これらのステップを自動的に実行する流れを構築することは、メンテナンスプロセスをより簡単で持続可能に保つために非常に重要ですp >
<高橋潤子>
dotnet format
コマンドは、これらの目標を達成するのに役立ちます.p >Reference
この問題について(C Countプロジェクトのためのコードフォーマット), 我々は、より多くの情報をここで見つけました https://dev.to/felipetofoli/code-formatting-for-c-projects-dotnet-format-github-actions-54p8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol