大規模な開発チームや、スキルレベルの異なるメンバが含まれる開発チームでは、コード品質を一定以上に保つために Checkstyle や FindBugs などの静的解析ツールを導入するのはほぼ必須といえます。
こういった静的解析ツールは、プロジェクト開始時から導入しておくべきです。 開発の途中で静的解析のチェックレベルを厳しくしても、対応が容易ではないことがあります。 例えば、1 ファイルあたりの行数が何千行にも膨れ上がってしまってから、行数の制約を加えても、すぐには修正ができません。 長期的な開発の過程でメンテナンス性を損なわないようにするためのチェック項目は、コードが健全なうちにチェックレベルを上げて有効にしておきましょう。
例えば、下記の Checkstyle 定義では、ファイルあたりの行数が 1000 行を超えるとエラーになるように定義しています。
<module name="Checker">
...
<module name="FileLength">
<property name="severity" value="error"/>
<property name="max" value="1000"/>
</module>
...
静的解析の段階でエラーにすることで、メンテナンス性を下げるコードがコミットされることを防ぐことができます。