Visual Studio CodeでApex PMDの使い方について共有します。
PMDとは、ソースコードの解析を行い、無駄な変数、ループ、条件式などバグの原因となる可能性のあるコードの判定を行っているツールです。
Apex PMDはApexコードでソースの分析を行ってくれるExtentionです。
・Apex PMDインストールする。
Visual Studio Codeの「Extentions」にて「Apex PMD」をインストールする。
インストール後、画面右下のステータスバーに「Apex PMD」の文字が表示されるようになります。
例えとして、以下のテスト用クラスを作成して保存してコミットします。
コミット後、画面に右下の「Apex PMD]の横にワーニング表示が表示されます。
そしえ、「Problems」のところにワーニング内容が表示されまます。
Apex classes should declare a sharing model if DML or SOQL is used (rule: Security-ApexSharingViolations)
該当箇所:public class testClass {
修正案:public class testClass {
上記の修正案によって、該当ワーニングが消えました。
Class names should begin with an uppercase character (rule: Code Style-ClassNamingConventions)
該当箇所:public with Sharing class testClass {
修正案:public with Sharing class TestClass {
上記の修正案によって、該当ワーニングが消えました。
Use one statement for each line, it enhances code readability. (rule: Code Style-OneDeclarationPerLine)
該当箇所:integer a, b, c = 0;
修正案:
integer a;
integer b;
integer c = 0;
Validate CRUD permission before SOQL/DML operation (rule: Security-ApexCRUDViolation)
該当箇所:User u = [Select id from User Limit 1];
修正案:
ログインユーザについて「ユーザ」オブジェクトについて参照権限付与を確認する。