Checkstyleを使用して、システム依存のデフォルト(ロケール、charsetなど)を使用するコンストラクタやメソッドの使用を禁止できますか?私は、プログラマがシステム依存の値を明示する必要があるポリシーを施行することを好む。だから私は危険であると、以下の項目を検討してください。Checkstyleルールにより、一部のメソッドやコンストラクタの呼び出しを防ぐことができます
java.io.FielWriter
- のすべてのコンストラクタシステム依存のエンコーディングを使用して
java.io.OutputStreamWriter
- の
OutputStreamWriter(OutputStream os)
コンストラクタをシステム依存のエンコーディングを使用して
- の
- システムのデフォルトロケールとデフォルトのタイムゾーンを使用して、システムのデフォルトロケールに
java.lang.String.toLowerCase()
方法
java.util.Calendar.getInstance()
方法
(リストが上になり、あなたが得ます画像)。
Checkstyle 5.5を使用してこれを実行できますか?
良い質問です。個人的には、これはコンパイラ自身がデフォルトで警告すべきものだと思います。これらのメソッドを使用するバグは多くありません。 – Voo
これらのメソッドに@SystemDependantアノテーションを追加する必要があります。 – gawi
私は新しいDate()を避けるためにカスタムチェックを書いています。興味があるならこれを見てください:http://beansgocrazy.blogspot.com.au/2012/04/when-dates-go-wild.html – n0rm1e