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

[jfriends-ml 10088] Re: Java 言語で学 ぶデザインパターン入門第 6 回議事録



福嶋です。

On Thu, 02 May 2002 13:40:43 +0900, according to the article
"[jfriends-ml 10087] Re: Java 言語で学ぶデザインパターン入門第 6 回議事録"
Murayama Toshikiyo <murayama@xxxxxxxxxxxxx> wrote:

> > P342
> >   undo()メソッドの !commands.empty() という条件チェックは必要なのか?
> >   データが無ければnullが返ってくるのではないだろうか?
> >   または、例外が送出されるのではないだろうか?
> >     --> データが空の場合には、Statck.pop()メソッドは EmptyStackException
> >         という実行時例外を送出する
> ここが尻切れトンボになってるんですが,
> 結局「!commands.empty() は必要」という結論に
> 到達したんでしょうか?
> #多分大丈夫とは思うものの,例外の使い方を全然知らない
> #人ってのも結構いるらしいで念のため.

「!commands.empty() は必要」という結論になりました。
emptyであることは通常ありえるので、EmptyStackExceptionをcatchするという
例外処理にするのではなく、if文で切り分ける。

> ただし,「HashMapから取り出したのがStringだと分かっている」と
> いうような場合には,毎回Stringにダウンキャストするよりは,
> 間違ってString以外の場合でもエラーにはならないという問題は
> あるもののtoString()のほうがまだましなのでは.多分こっちの
> 方が早いし.

私の場合、
「HashMapから取り出したのがStringだと分かっている」のならば、
Stringでダウンキャストします。
おっしゃられるように「String以外の場合でもエラーにはならないという問題」
があるためです。
異常な状態で突き進むよりも、バグはバグと分かった方がよいですし。
#とある人から学んでなるほど、と思いましたです、ハイ。

> >>   「ベストプラクティス」の日本語の訳はなんであろうか?
> >>     --> 最適解とか...
> >>     --> 英語のままのほうがカッコイイ!!
> >無理に訳すと「最良の実践」かなぁ。。。
> #意訳して「成功事例」辺りが一番近いとは思いますが,
> #ニュアンスが異なるのであまり良くない.
> 
> >でも、ほとんどカタカナ語として定着しています。
> #ですね.

今思いましたが、「最善策」なんてのもアリですかね。

----------------------------------------
(株)PFU ソフトプロダクト事業部第二開発部
  福嶋 航  w.fukushima@xxxxxxxxxxxxxxx