1

Eclipse に Checkstyle の最新バージョンをインストールしました。問題は次のとおりです。タブ ポリシーを「タブ」に設定すると、「ファイルにタブ文字が含まれています」というエラーがすべて表示されます。フォーマッターのタブ ポリシーを「スペースのみ」に設定すると、「ファイルにタブ文字が含まれています」というチェックスタイル エラーが表示されなくなりますが、「行が 80 文字を超えるエラー」が大量に発生します。意見。例えば:

FulltimeEmployee a = new FulltimeEmployee(
                         parsedLine[READ_LINE_FIRST_PARAMETER],     
                         parsedLine[READ_LINE_SECOND_PARAMETER],
                         Integer.decode(parsedLine[2].trim()));

これらの行には、実際には約 40 の「有用な」文字が含まれています。残りはインデントから来ます。80 ルールに準拠するために、これらの行をさらに分割する方法がわかりません。インデント サイズを 4 スペース未満に設定する必要がありますか? コードを単純化してインデントを深くしないことを考えましたが、方法がわかりません。コード リストの詳細については、以下を参照してください。おそらく、インデントを減らす方法を提案してください。たとえそうであっても、私の元の問題はまだ残っています。メソッドの前の最初のインデントは、クラスからのものです。

public void populateList() {
     String[] parsedLine = new String[NUMBER_OF_PARAMETERS];
     try {
          FileInputStream fstream = new FileInputStream(Company.fileName);
          DataInputStream in = new DataInputStream(fstream);
          BufferedReader br = new BufferedReader(new InputStreamReader(in));
          String readLine;
          while ((readLine = br.readLine()) != null) {
               parsedLine = readLine.split(", ");
               if (parsedLine.length != NUMBER_OF_PARAMETERS) {
                    System.out.println("Format error");
               } else {
                    switch (parsedLine[READ_LINE_THIRD_PARAMETER]) {
                    case "full-time":
                         FulltimeEmployee a = new FulltimeEmployee(
                              parsedLine[READ_LINE_FIRST_PARAMETER],
                              parsedLine[READ_LINE_SECOND_PARAMETER],
                              Integer.decode(parsedLine[2].trim()));
                         this.employeeList.add(a);
//more code here

助言がありますか?私はこれについて長い間考え、かなり検索しましたが、途方に暮れています。

4

1 に答える 1

2

使用制限 - 120 個のシンボルが並んでいます。Checkstyle は、チームがより統一された方法で作業するのに役立つはずですが、あなたを苦しめるためには、ニーズに合わせて調整してください! 現在、ワイドスクリーンがあり、このルールは時代遅れになっています。

ラインの長さをさらにリラックスさせるには、checkstyle の拡張機能を試してみてください。LineLengthExtendedCheck を検索してください。

于 2012-11-20T04:45:08.553 に答える