2011-01-03 9 views
4

私はコーディングスタイルのガイドラインを読んで、言語とその特徴を知る最善の方法であることがわかりました。私はJavaのための良い文書を探して、すぐにいくつかの質問に答えようとしてきました。Javaコーディングスタイルのリソース?

まず、非常に長い行のための規則は何ですか? JavaとC/C++の両方で書くと、私はこの点についてかなりの混乱を招いています。

第2に、カスタム例外クラスを作成するためのガイドラインは何ですか?私は通常、自分自身を作成するのではなく、既存の例外を投げることになります。カスタム例外の作成は通常実行されますか?

答えて

5
+0

http://java.sun.com/docs/books/jls/でThe Java Language Specificationもお勧めします。 – Eugene

+0

これらの規約は古くなり、もう利用できなくなりました。彼らはずっと前に書かれました。 – Kraal

2

私はSun/Oracle Java coding standardsから始めます。

行の文字幅に100%硬くて速い標準はありません。私は80-120文字の間のどこかに言うでしょう。大きくて広い画面では、私はこのことをあまり気にしませんでした。

通常、標準の例外が私には十分であることに同意します。私は特別なビジネスの重要性のためのカスタム例外サブクラスかもしれませんが、それらはほとんどまたはまったくありません。私は、Javaの最新のスタイルはC#のようなチェックされていない例外を好むことだろうと言っています。

+0

または、例外的な状況で例外を使用しない方がよい... –

+0

はい、確かです。例外は例外的でなければならない。 – duffymo

2
  1. http://www.oracle.com/technetwork/java/codeconv-138413.html
  2. 80ラップ - 110文字
  3. 既存の投げるのは素晴らしいです。あなただけ 既存の例外は、コーディング規則の簡単のようではない、かなり 一致例外的なケース( 通常、ビジネスルール)

を行う際に、カスタムを作成する必要があります。

class SomeClassName { //<-- Class with upper case, camel case 
    public static final int CONSTANT_SOMETIHNG = 0x2A; // constants all upper case 
    private int secretVariable; // variables start with lowercase 
    public void someMethod() { // methods too 

     // opening brace goes in the same line 

     if(cond) { 
      ... 
     } else { 
      ... 
     } 
     for(..) { 
     } 
     while(...) { 
     } 
     try { 
     } catch() { 
     } finally { 
     } 
     // closing brace aligned to the element start 

    } 
    } 
} 

等など

+0

4.投げないかもしれない - 私は「しばしば」と主張するだろう;-) - 投げていないよりも良い。 –

1

重複する可能性のある質問。ここで答えを見つけることができます:https://stackoverflow.com/questions/1334204/official-java-code-guidelines-conventions

ただし、Sun/OracleのWebサイトの文書は12歳以上です。コア言語は変わっていませんが、テクノロジは急速に変化します。つまり、テクノロジの変化に対応する方法を意味します。

あなたとあなたのチームに最適なものを使用することをお勧めします。あなたの組織内で主流と見なされる合意された標準がある限り、あなたは大丈夫です。

0
  1. 80文字幅のテキストエディタを使用していたときの行の長さは、はるかに大きな問題でした。今日、ほとんどの開発者はワイドな高解像度のワイド画面を持っているため、Javaで80文字でラップすると、他の人がさらにスクロールして右に空白を持つようにすると、実際には不具合になることがあります。あなたが書いたコードを誰が見ているのかを記録し、適切な長さでラップしてください。

  2. カスタム例外クラスについての私の見解は、それが意味する限り、既に存在するものを使用することです。ただし、存在しない例外クラスが必要な場合があります。そのためには、作成することを躊躇しないでください。

+0

長い行の主な問題は、印刷する必要がある場合です。使用される印刷ソフトウェアが長い行を自動的に折り返すならば、本当に大きな問題ではありませんが、行がランダムな場所に折り返され、インデントされていないと、読みやすさが損なわれる可能性があります。 –

+0

これは当てはまりますが、コードを印刷する必要があった年が経ちました。私たちのチームは電子的にコードレビューを行います。このポスターが同じ場合、印刷は大きな要因ではありません。 – jzd

2

Joshua Blochの "Effective Java"は重要な読書です。 Oracleが提供する構文ガイドラインを超えています。

アイテム60は「標準例外の使用を優先」ですが、アイテム61は「抽象化に適切な例外をスローする」です。場合によっては、カスタム例外が呼び出されることもあります。

関連する問題