【初心者】Java質問・相談スレッド112【大歓迎】at TECH
【初心者】Java質問・相談スレッド112【大歓迎】 - 暇つぶし2ch210:209 ◆xkgLgN/H4.
08/02/14 10:25:50
...続き

【D】
public void method(int data) {
  boolean checked = check(data);
  assert checked: "checkメソッドがfalseを返した"
}
private boolean check(int data) {
  if (data < 0) {return false;}
  return true;
}

正解は【D】なのですが、その解説が

【A】publicなメソッドの引数チェックをアサーションで行うのは不適切
【C】デバッグ時のみ使用し本番では使用しなくなるアサーションで
   メソッドの呼び出しを行うのは不適切
【D】内容は【C】と同じだが、メソッドの戻り値を変数へ格納し、その変数を
   アサーションでチェックしているので適切

というものでした。
【C】も【D】も「publicなメソッドの引数チェックをアサーションで行うのは不適切」に
該当する感じがして納得できないのですが、どう考えるべきですか?

また、【C】の解説が言わんとすることは、
アサーション有効時と無効時で呼び出されるメソッドが違う等の条件の違いがあっては
デバッグ作業として良くない
ということでOKですか?

よろしくお願いします。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch