SonarQube。 コードの品質を確認する



SonarQubeは、規則と標準に基づくルールに従って品質コードをチェックするためのプラットフォームです。 20以上の異なるプログラミング言語をサポートしています。

ここでは、これらすべてのルールを見ることができます。

sonarQube、PhpStorm、あなたのプロジェクトを友達にする方法についての小さなガイドを共有したいと思います。 すべてのアクションはWindowsについて説明されていますが、別のOS用に構成されています。


まず SonarQubeデーモン(現在の最新バージョン5.1)をダウンロードする必要があります 。これにより、サーバーが起動し、テストに関するデータが保存されます。 フォルダーに解凍します

C:\sonarqube 

次に確認するプログラミング言語のプラグインをダウンロードし (私にとってはPHPプラグインです )、プラグインフォルダーに配置します

 C:\sonarqube\extensions\plugins 

テスト自体を実行するには、同じ場所にダウンロードし、必要に応じてシステム変数に登録するランナーが必要です。

 C:\sonar-runner 

また、テスト構成ファイルを構成する必要があります。 これを行うには、プロジェクトのルートに次の内容のsonar-project.propertiesファイルを作成します。

 sonar.projectKey=runner // ,           sonar.projectName=PHPNAME //   sonar.projectVersion=1.0 //   sonar.sources=src // ,   (   ) sonar.language=php //   sonar.dynamicAnalysis=false // \ ,     sonar.sourceEncoding=UTF-8 //   

SonarQubeを開始する前に、 JavaVirtualMachineがマシンにインストールされていることを確認してください

SonarQubeを起動する

  C:\sonarqube\bin\windows-x86-xx\StartSonar.bat 

プロジェクトのルートとそこからランナーに移動します

 C:\sonar-runner\bin\sonar-runner.bat 

正常に実行されると、ほぼこのコンテンツのテキストが表示されます。



テストが失敗した場合、私にとってはいくつかの理由がありました。
構成が正しくありません。 たとえば、検証用に示されているフォルダーは存在しません
JVMに十分なメモリがありません。 悪魔の記憶を増やす​​ことで解決しました:
SonarQube設定で必須

 C:\sonarqube\conf\sonar.properties 

登録するには:

 %JAVA_EXEC% -Xmx1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m %SONAR_RUNNER_OPTS% 

これでテスト結果を見ることができます:

 http://localhost:9000/dashboard/index/runner 

結果には、エラーの数と種類が表示され、各エラーの詳細とその修正例が表示されます。



IDE自体のプラグインをダウンロードします。
メニューに移動して、PhpStormにプラグインをインストールします:ファイル->設定->プラグイン-> BrowseRepositories
そこにSonarQubeを見つけてインストールします。
(プラグインはJetbrainsによって開発されたため、おそらくこの会社の他のIDEによってサポートされています)。

プラグインを構成します。
プラグイン設定に行きましょう:ファイル->設定->その他の設定-> SonarQube
最初に、プラグインがアクセスしてテスト結果を取得するサーバーを構成します。 これを行うには、 追加ボタンをクリックして設定を入力します。



次に、テストの結果をアップロードします。 これを行うには、緑色のプラス記号をクリックし、 リソースダウンロードボタンをクリックしてプロジェクトのリストを更新し、プロジェクトを選択して追加します。



これで、コードを検査し、許可された標準との矛盾を確認して修正できます。
PhpStormのコードを調べてみましょう:Code-> InsectCode-> wholeProject:



私の指導が誰かに役立つことを願っています。

Source: https://habr.com/ru/post/J259149/


All Articles