AOPでコーディング規約をチェック

OO エンジニアの輪 〜 第 35 回 千葉 滋 さんの巻 〜

アスペクト指向を業務で使うときの良い例は、コーディング規約ですね。最初にこういうメソッドを呼ぶとか、初期化メソッドはこういう名前にしておくとか、何かするときはこのメソッドを呼んでから始めるとか、そういうコーディング規約がありますよね。コーディング規約を書くのに AspectJ を使うのは、よい使い方だと思います。

面白いアイデアですね。メソッド名のチェックはもちろん、引数の数が多すぎなどいろいろできそうですね。ただ、これらは静的にできるので、パフォーマンスやリソースの使用量をチェックするような動的なチェックのほうがいいかな。Webアプリでリクエストごとにセッションの使用量やメソッドの処理時間をチェックして閾値を超えていた場合警告ログするような仕組みを組み込むのだが、AOPを使うとこれを一般的なクラスに対してできるようになりますね。


「規約をコードに組み込む」という発想が本当に良いですね。エンタープライズのアプリでも使えるアイデアです。