10

私のプログラムの定期的な静的分析の一環として、クラスが正常なメソッドを持っている可能性が高いことを確認したいと思いtoString()ます。おそらく、すべてのクラスがそれらを実装しているわけではありませんが、インスタンス化可能な具象クラスがObjectの実装を使用していない可能性がありますtoString()

これをチェックする lint ツールキットはありますか? 私が現在使用しているのは FindBugs と CheckStyle です。これらのいずれかを使用して確認する明白な方法は見つかりませんでした。PMD を lint スイートに追加することも検討しており、Sonar でも何かを受け入れる予定です。そのため、すでにツール チェストにあるツールを使用することを好みますが、さらに別のツールを追加する必要がある場合は、それを検討します。

4

1 に答える 1

4

Checkstyle Regexpチェックを使用してこれを行うことができます。

<module name="Regexp">
    <property name="format" value="public\s+String\s+toString\s*()"/>
    <property name="message" value="All classes must implement toString()"/>
    <property name="ignoreComments" value="true"/>
</module>

これは、コメントアウトされたtoString()メソッドを存在しないものとして認識します。Checkstyle 5.6 と eclipse-cs を使用して試してみましたが、以前のバージョンでも動作するはずです。

于 2013-03-13T14:33:48.297 に答える