Logic Delight

明日のワシは忘れてしまうから、コードにはコメントを書くのです。

簡潔にメッセージが伝わる便利アノテーションが素敵

Javadocに「このクラスはスレッドセーフではありません。」とか書いてあるのを見ていて、最近gs-collectionsを眺めて便利だなと思ったアノテーションをつければいいんだ、と思った。

具体的には、↓ここらへんのアノテーションをつけておけばスマートに伝えられるよなー、と。

  • javax.annotation.concurrent.NotThreadSafe
  • javax.annotation.concurrent.ThreadSafe
@NotThreadSafe
public class SampleFormatter {

同様に、Google Guavaで提供される次のアノテーションも、いいところをついている感じ。

  • com.google.common.annotations.VisibleForTesting
@VisibleForTesting
void setInnerValue(String value) {
    this.value = value;
}

・・・あぁ、その気持わかる。この package private や protected は、人様に使われるためじゃなく、単にテストの利便性目的なだけなんだよ、ってね。。。

皆様、悩み考えていることは似たり寄ったりなんだなと痛感。