読者です 読者をやめる 読者になる 読者になる

#! /bin/blog

実行形式のブログです。というか、ほぼポエムです。

Javaのassert文って使われているのだろうか。

Javaのassert文の使い方を調べていたら、こんなのが出てきた。

MET01-J. メソッドの引数の検証にassertを使わない

引数チェックはメソッド契約の一部を成しており云々...の意味がわからないが、

自販でお金入れずにジュースを買おうとするボケはいないよねぇーっていうことかな。誤解釈?

まあでも、ちょっと、自販のボタンを光らせて知らせてやろうよっていう親切。

そういうの、わるくないよ。ぜんぜん。むしろ敬意すら感じる。
僕だって、親切心をマックス発揮したい。(時間があれば...だけどね。)

でも、その契約的プログラミングっていうの?

どこまで、やっていいのか、迷いますよね。

だって、自販と違ってユーザーじゃなくて、プログラマに対する注意勧告だし、assert文自体、本質ではないし、コードが汚れて美しくないし。

僕としましては、引数のチェックは一応書いていて、それ以外にもなにか甚大な被害を起こりそうな部分には、チェックを入れてますが、最低限です。

でも、assertは使いません。

assert文は、AssertionExceptionに丸められてしまうので、ちゃんとコメント書かないと、意味わかめ、あなた嫌いって、なってしまうのです。

ですが、例外は、それ自体に意味があるので、IllegalArgumentExceptionだったら、引数がおかしかったかなとか、多少はわかる。

ただ、コメント書くのが、めんどいからそうしてるだけです。

Scalaのrequireは、IllegalArgumentExceptionが投げられるから、惚れました。

人の書いたソースみていて、ときどき思うんですが、日本人の過剰サービス、プログラミングの世界にも、国民性がでるのかなって。

広告を非表示にする