Simply the Best ...
Thursday, 29. June 2006, 15:54:57
※ Opera とはまったく関係ないですm(_ _)m
今携わっている案件のソースレビュー時の話です。
(変数名は仮名にしてます)というメソッド仕様に対して、
最初に出てきたコードがこれ。
(うざいのでコメントは省略してます)
「if が複雑すぎ」と言いながら、僕が提示したコードがこれ。
しかし、search = null のときに NullPointerException が発生することが判明し、元コード書いた人が修正した結果がこれ。
「なぜそうなる」とつぶやきながら、僕が再提示したコードはこれ。
… Simply the Best.
今携わっている案件のソースレビュー時の話です。
いずれかに部分一致する場合に true を返し、それ以外の場合は false を返す。(search が "" の場合は true)
(変数名は仮名にしてます)というメソッド仕様に対して、
最初に出てきたコードがこれ。
(うざいのでコメントは省略してます)
if (StringUttils.isEmpty(search)) {
return true;
}
if (string1 != null) {
if (string1.indexOf(search) != -1) {
return true;
}
}
if (string2 != null) {
if (string2.indexOf(search) != -1) {
return true;
}
}
return false;
「if が複雑すぎ」と言いながら、僕が提示したコードがこれ。
return srting1 != null && string1.indexOf(search) != -1
|| string2 != null && string2.indexOf(search) != -1;
しかし、search = null のときに NullPointerException が発生することが判明し、元コード書いた人が修正した結果がこれ。
if (StringUtils.isEmpty(search)) {
return true;
}
return srting1 != null && string1.indexOf(search) != -1
|| string2 != null && string2.indexOf(search) != -1;
「なぜそうなる」とつぶやきながら、僕が再提示したコードはこれ。
return StringUtils.isEmpty(search)
|| srting1 != null && string1.indexOf(search) != -1
|| string2 != null && string2.indexOf(search) != -1;
… Simply the Best.
