web-dev-qa-db-ja.com

Java "ISO 8859-1"のような一連の数字を含む名前の規則は何ですか?)

Javaクラスの名前に一連の数字が含まれるクラス(「ISO 8859-1」など)を作成する場合、クラスにどのように名前を付ければよいですか?

  • Iso88591は数字の間に境界がないため、間違っているようです。

  • Iso8859_1は私には良いようですが、有効Java=によると、「定数フィールドはアンダースコアの唯一の推奨される使用法を構成します。」(Checkstyleのデフォルトの動作によっても捕捉されます。)

  • 名前を付けることもできますIso8859Dash1、しかしそれはひどく見えます。

7
codebreaker

ガイドラインはガイドラインであり、不変の自然法則ではありません。通常のJava命名規則に簡単にマップできない、わかりやすい名前の優れた例を見つけました。それで、どうしますか?

例外を作る。

すべての提案のうち、Iso8859_1は、クラスが何であるかを明確におよび明確にが表す唯一の名前です。さまざまなコーディングガイドラインは、明確な名前を見つけるためのヒューリスティックです。ここでそれらは失敗し、あなたはそれらを無視するのがうまくいくでしょう。

Checkstyleは構成可能です。そのような名前を許可するように構成を調整するか、名前チェックからのクラス宣言を除いてください。自分自身を無能なツールの奴隷にする代わりに、ツールがあなたを助けてください。

(理由:デフォルトのJavaコーディング規則では、キャメルケースを使用して視覚的に強調するWord境界を識別子内で使用することを推奨しています。定数はall-uppercase。ここでは数字の境界が必要です。ASCII数字には大文字と小文字の区別がないため、ここではキャメルケースを使用できません。名前の数字を区切るための残りのオプションはアンダースコアです。)

15
amon

混乱や衝突の可能性がない限り、私はこれを気にしないでしょう。たとえば、ISO 885-91規格を表すクラスが存在する可能性がある場合、問題が発生する可能性があります。この場合はダッシュを落とします。

0
JimmyJames