[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: getterの命名について




In article <380420EA2E3.CF7EANISHI@xxxxxxxxxx>
Atsuyuki Nishizawa wrote:
>> if (a == null) {
>> 
>> と書けばすむ所を
>> if (isNull(a)) {
>> 
>> と書く事によって「何か特別なことしてるんじゃないだろうか」と邪推
>> される危険性というのもあるんですよね.
>> チーム内で浸透していないと、== null がJavaでは浸透してしまってい
>> るせいで余計に可能性が高まります.
>
>疑問に思ったらまず何をしているかなんとか調べるでしょうから大丈夫だと
>思います。
いえ、調べればわかるのはもちろんですが、標準的でない書き方は、そ
の個所を見た瞬間に何をしようとしているのかが理解出来ない(コンマ何
秒とか数秒の話です)事があるわけでして、そういう理由で生産性が少し
落ちるんじゃないかっていう話題が以前fj.comp.lang.cであったようで
す.
if (*(p->q) == NULL) {
if (*p->q == NULL) {
のどっちが素早くやっていることが頭に入るか?みたいな.

>ソースがなかったり、javadocのコメントがなかったりと追跡の手立てが
>なければそういう推測もされる危険性もありますが。
>
>#ただ、isNull(a)の関数っぽい使い方は私個人としてはNGです。(^^;)

ああ、解りました.
In article <3803f057.3837.faf278c01cf93133@xxxxxxxxxx>
Shin wrote:
>自分のクラスについてはisValid()みたいなメソッドを用意することはあ
>りますね.自分自身のオブジェクトはあるけど中の何処かがnullだったり
>初期化されていない場合がある時のために.
>いなみさんが最初に思ったのは自分自身が無効(null)であることもそれ
>と同じレベルでチェック出来たらいいのに、ということかなあと思って
>います.
これだったんですね.確かにオブジェクト指向的にはこう考える方が自然
ですね.
# 自分でこう書いていながら西沢さんの意図をちゃんと理解してません
# でした.すみません.

じゃあそっち方向で妄想にふけるならば、nullに聞くというのはおかし
くて、変数オブジェクト(仮)に対してisNull()メッセージを送るべきで
すね.
ちなみにjava.lang.refパッケージには「参照」を抽象化したクラス群が
あるようですが、変数そのものを表すクラスは無いようですね.
(あまり見てません)

変数に対してメッセージを送れるとしたらどんな構文がいいかなあ?
「変数」クラスはObjectを継承するのだろうか...
# 妄想は膨らむ膨らむ

──────────────────
木下 信@いであ
mailto:shinq@xxxxxxxxxx
http://village.infoweb.ne.jp/~shinq/
──────────────────