2017-05-07 7 views
1

私はCheckStyleを初めて利用しています。状況によっては良いアイデアがありません。checkstyleに関するヒント

例1

void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri); 

ご覧のとおり、メソッドの長さは、私が使用long.Soすぎる:

 <module name="LineLength"> 
     <property name="max" value="100"/> 
    </module> 
    <module name="MethodLength"> 
     <property name="max" value="140"/> 
    </module> 

MethodLengthLineLength

例2

で覆われているようです

コメントを書くには:

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/media/java/android/media/MediaFile.java

明らかに、このリンクは、私はそれに対処することができますlong.Howすぎているのですか?

+0

1:メソッドの宣言をあなたの限界に収まるように再フォーマットします。2.他の合理的な選択肢がないので、警告を無視します。 –

+0

@JBNizet 2.短いURLが便利だと思います。 – cole

+0

あなたはリンクが実際に何を指しているかについての情報を失っているが、それを行うこともできる。 –

答えて

0

Checkstyleをお探しですか?これは、完璧なものではありませんが、決してすべてを解決するものではありませんが、多くのタスクにとって素晴らしいツールです。 LineLengthMethodLengthチェックについて

  • LINELENGTHチェックし、ファイル内のテキストの行の実際の長さ
  • MethodLengthチェックの数:これらは実際には2つの非常に異なるものをチェックしますメソッド内の行(例、行、文ではなく、ExecutableStatementCountの場合)

は、だから、通常は(私がオーバーMethodLengthを好むかExecutableStatementCount、)LINELENGTHMethodLengthの両方を可能にします。

リンク長のように、長めにできない長い行を処理するようにLineLengthを設定する必要があります。最近のバージョンのCheckstyleでは、デフォルトでpackageimportが処理されます。このチェックにはignorePatternがあり、他の長い行を除外するように設定することもできます。ドキュメントは、この例を示します。この例では

<module name="LineLength"> 
    <property name="ignorePattern" value="^ *\* *[^ ]+$"/> 
</module> 

は、Javadocは(ここでは、右のアスタリスクの後を除いてはスペースを意味していない)1ワードのみが含まれている行は、関係なく、その長さのフラグが立てられません。このようにして、ほとんどのケースをカバーすることができます。

+1

あなたの 'MethodLength'に関するあなたの説明は素晴らしいです。 – cole

0
  1. あなたは行の折り返しであなたを助けるために、フォーマットを使用することができます日食のようなIDEを使用している場合。 CheckStyle行の長さを満たすため。

  2. MethodLength CheckStyleは、メソッドとリファクタリングを、実行するタスクが1つの小さなメソッドに分けてみるように求めています。

関連する問題