検索
ホームページJava&#&はじめるコーディング標準と静的コード チェック プラグインの使用方法

この記事では、コーディング標準と静的コード チェック プラグインの使用方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

コーディング標準と静的コード チェック プラグインの使用方法

Alibaba Java コーディング ガイドライン

最初の紹介は、Alibaba のコーディング規約です。これは誰もがよく知っていると思います。インストール方法は

settings->plugins里面搜索
Alibaba Java Coding Guidelines-
>install->重启Idea

このプラグインはコードの不具合に焦点を当てており、詳細なコーディング仕様は「Alibaba 開発マニュアル」に定められていますので、興味のある方はご覧ください。

プロジェクト全体のすべてのファイルを確認したい場合は、ウィンドウ内のクラスを閉じてから、Ctrl Alt Shift J ショートカット キーを押すか、次の操作を実行できます。以下に示すように。

コーディング標準と静的コード チェック プラグインの使用方法
チェックの結果は次の図に示すようになります。

コーディング標準と静的コード チェック プラグインの使用方法

単一のファイルをチェックしたい場合は、次のようにすることができます。クラスを右クリックし、「Alibabacoding guideline Analyze」を選択します。

CheckStyle

導入する 2 番目のプラグインは、CheckStyle プラグインです。このプラグインはコード形式のチェックに重点を置いています。使用方法は次のとおりです。 checkstyle パネルでチェックボタンをクリックしてチェックするか、単一のファイルをチェックすることができます。

コーディング標準と静的コード チェック プラグインの使用方法コーディング標準と静的コード チェック プラグインの使用方法
#上の図のように、インデントなどについてはコーディング規約がいくつかあるので、あまり気にする必要はありません。彼ら。

Findbugs

findBugs-idea の機能は、コード内に存在する可能性のあるバグを見つけることに重点を置いています。クラスまたは JAR ファイルを検査し、バイトコードを一連の欠陥パターン (組み込み検出器を使用) と比較して、考えられる問題を見つけます。 Findbugs コーディング規約スキャンを実行する PMD

(Programming Mistake Detector) は、オープンソースの静的コード検査ツールです。 PMD は、プロジェクト自体の Java、Salesforce に関連する Apex や VisualForce、さらに JavaScript、XML などの複数の言語をサポートします。 PMD には、さまざまな言語のコーディング ルールのプリセット セットがあり、Java クラスまたは XPath を使用したカスタム ルールの開発もサポートしています。

コードの一部を選択し、Run PMD->Pre Defined を右クリックします。コード スタイル、デザインなど、選択できる検査タイプは多数あります。

コーディング標準と静的コード チェック プラグインの使用方法

SonarLint

最後に紹介するのは、SonarLint プラグイン、このプラグイン、および ## です。 #Alibaba Java コーディング ガイドライン プラグイン これらは、実際のプロジェクトでより頻繁に使用される 2 つのプラグインです。ここではプラグインのインストールと使い方を詳しく紹介します。

インストール

settings->plugins里面搜索
SonarLint
>install->重启Idea

SonnarLintチェックアドレスを設定します:

settings->Tools->SonarLint->Settings 
中增加sonarqube的地址

以下に示すようにsonarqubeのアドレスを設定します

コーディング標準と静的コード チェック プラグインの使用方法SonarListを使用します

SonarList を設定した後、それを使用できます。SonarLint はすべてのファイルをチェックできます。すべてのファイルをチェックする方法は次のとおりです:

Analyze->Analyze All Files with SonarLint をクリックします。

コーディング標準と静的コード チェック プラグインの使用方法

単一のファイルを確認することもできます。単一のファイルは、ファイル編集領域で右クリックして選択されます:

コーディング標準と静的コード チェック プラグインの使用方法

生成されたレポートは次のとおりです。 ここには両方の違反問題 (つまり、潜在的なバグと脆弱性) があります。例: NullPointerException。これにも悪いコード臭 (コード臭) があります。一般的に、バグレベルの問題に対処する必要があり、悪臭は無視できます。もう 1 つの指標は、コードの重複率、つまりコード内で繰り返されるコードです。

コーディング標準と静的コード チェック プラグインの使用方法

さまざまなプラグインの比較

検査の焦点の違い

#ツール分析オブジェクト重点を置くアプリケーション テクノロジー##Alibaba Java コーディング ガイドライン# #CheckStyleソース ファイルフォーマットの欠陥欠陥パターンの一致FindBugsバイトコードコードの欠陥欠陥パターン マッチング、データ フロー分析PMDソース コードコードの欠陥欠陥パターンマッチングSonarListソースコードコード欠陥欠陥パターンマッチング、多次元処理各種チェック項目
ソース コード コードの欠陥 検査メカニズムによりリアルタイム検出機能が提供されます

ツール目的チェック項目Alibaba Java コーディング ガイドライン潜在的なコード ハザードをすべてスキャンするメソッド名パラメータ名メンバー変数ローカル変数列挙クラス try -catch CheckStyleJava ソース ファイルがコード仕様と一致しているかどうかを確認します。Javadoc コメント命名仕様タイトルインポート文のボリューム サイズ空白FindBugsバグ パターンの概念に基づいて、javabytecode (.class ファイル) の潜在的なバグを検出します。NullPoint の null ポインタ チェック、不当なリソースのクローズなしPMDJava ソース ファイルに潜在的な問題がないか確認してください未使用のローカル変数、空の catch ブロック、未使用のパラメーター、空の if ステートメント、繰り返される import ステートメント、未使用のプライベート メソッドは、Singleton クラスの short/long 変数とメソッド名である可能性がありますSonarListすべての潜在的なコード ハザードをスキャンしますMethods Name パラメーター名メンバー変数 ローカル変数列挙クラス try-catch関連する無料学習の推奨事項:

Java 基本チュートリアル

以上がコーディング標準と静的コード チェック プラグインの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java数据结构之AVL树详解Java数据结构之AVL树详解Jun 01, 2022 am 11:39 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

java中封装是什么java中封装是什么May 16, 2019 pm 06:08 PM

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境