javaだと、パッケージ (Java) - Wikipedia記載がある通り、
パッケージ名は小文字が推奨されています。
特別な理由がない限りは小文字にしておけばOK(理由はよくわかりません。。) とされています。

しかしながら、大規模開発をやっていると、
特別な理由なのか大文字を使う人(やチーム)が出現します。

そのチームは、特別な理由があるというのは稀で、
パッケージ (Java) - Wikipedia記載を、
知らなかったりしたります。

何か機械的にチェックする方法はないか調べたところ、
PMDのネーミングルールに含まれるPackageCaseどうもそれのようです。
PMD - Rule Set: Naming Rules


PackageCase (引用)

Since: PMD 3.3

Detects when a package definition contains upper case characters.

This rule is defined by the following XPath expression:

//PackageDeclaration/Name[lower-case(@Image)!=@Image]

Example:

package com.MyCompany;  // <- should be lower case name
public class SomeClass {
}


PackageCase

パッケージ定義に、大文字の文字が含まれていることを検出します。
この規則は、次のXPath式によって定義されます。

//PackageDeclaration/Name[lower-case(@Image)!=@Image]

Example:

package com.MyCompany;  // <- should be lower case name
public class SomeClass {
}


パッケージ名称の途中に大文字が含まれる場合の動作

先頭に大文字が含まれる場合は、検知してくれそうですが、
間に含まれることは検知するのか気になったので、IntelliJ Idea の PMD pluginで試してみました。

大文字がパッケージ名の途中に含まれる場合も以下のように検出してくれます。

以下のように拾ってくれそうです。

PMD PackageCase

以上です。

コメント