職場では、いくつかのツールを使用して、いくつかのメトリック(主に循環的複雑度とLCOM)をキャプチャしています。これらを使用して、警告フラグを取得し、先制的なリファクタリングの取り組みをガイドします。これは、コードの品質を向上させる上で非常に有益です。
ただし、プロセスはビルドプロセスに関連付けられていません。別途実施します。さらに、(外部プロセスを実行するのではなく)ソースコードに固有のものを作成できるものを探しています。
コンパイラから実行できる注釈のグループと構成可能な注釈プロセッサを知っている人はいますか?コードが循環的/ LCOMのしきい値メトリックに準拠していない場合、ビルドが失敗しますか?
maven / antからckjm、checkstyle、pmdを実行できると思いますが、ソースコードで動作するものもあれば、バイトコードで動作するものもあります。コンパイルが始まる前にソースコードで動作する1つの統合ツールがあると便利です。
もう1つは、これを促進する可能性のある注釈のセットがあると便利です(コーナーケースで必然的に必要になるカスタマイズを可能にするため)。
@LCOM3(Threshold=1.5)
public class SomeDumbPojo {... buch of gets/sets...}
// by default would be measured against a strict LCOM3
public class ActualBizClass
{
@CYCLOMATIC_COMPLEXITY(Threshold=15)
public void someFatIrreducibleMethod(){...}
}
次に、ツールを実行すると、デフォルトで厳密な(および構成可能な)メトリックしきい値が適用されます。ただし、(文書化され、正当な)より緩和されたしきい値で注釈が付けられたアーティファクトは除きます。減らすことができない/減らすべきではないいくつかの方法では、緩和された循環的複雑度が理にかなっています。動作のないプレーンPOJOの場合、LCOMをリラックスさせる必要があります...などなど。
見たりグーグルしたりしても、何も見つかりませんでした(できればオープンソース)。しかし、誰かがその種の何かを知っている場合に備えて、私はここで尋ねたほうがよいでしょう。
ありがとう。