Skip to content

Instantly share code, notes, and snippets.

@Nkzn
Created July 1, 2012 03:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nkzn/3026624 to your computer and use it in GitHub Desktop.
Save Nkzn/3026624 to your computer and use it in GitHub Desktop.
if文の良くないネストとか
/*
* 例1
*/
if(hoge != null) {
hogeList.add(hoge);
}
// 例1の全然アリな例①
if(hoge != null)
hogeList.add(hoge);
// 例1の全然アリな例②
if(hoge != null) hogeList.add(hoge);
// 例1の絶対許せない例
if(hoge != null)
hogeList.add(hoge);
/*
* 例2
*/
if(hoge != null) {
if(fuga != null) {
hogeList.add(hoge+fuga);
}
}
// 例2のギリギリ許せる例
if(hoge != null)
if(fuga != null)
hogeList.add(hoge+fuga);
// 例2のギリギリ許せないこともない例
if(hoge != null)
if(fuga != null) hogeList.add(hoge+fuga);
// 例2の絶対に許せない例①
if(hoge != null)
if(fuga != null)
hogeList.add(hoge+fuga);
// 例2の絶対に許せない例②
if(hoge != null) if(fuga != null)
hogeList.add(hoge+fuga);
// 例2の改善案①(条件をまとめてネストを減らす)
if(hoge != null && fuga != null) {
hogeList.add(hoge+fuga);
}
// 例2の改善案②(↑ならワンライナーしてもいいんじゃね感)
if(hoge != null && fuga != null) hogeList.add(hoge+fuga);
/*
* 例3
*/
if(hoge != null) {
if(fuga != null) {
hogeList.add(hoge+fuga);
} else {
hogeList.add(hoge);
}
}
// 例3のギリギリ許せる例
if(hoge != null)
if(fuga != null)
hogeList.add(hoge+fuga);
else
hogeList.add(hoge);
// 例3のギリギリ許せないこともない例
if(hoge != null)
if(fuga != null) hogeList.add(hoge+fuga);
else hogeList.add(hoge);
// 例3の絶対に許せない例①
if(hoge != null)
if(fuga != null)
hogeList.add(hoge+fuga);
else
hogeList.add(hoge);
// 例3の絶対に許せない例②
if(hoge != null)
if(fuga != null) hogeList.add(hoge+fuga);
else hogeList.add(hoge);
// 例3の改善案①(条件をまとめてネストを減らす)
if(hoge != null && fuga != null) {
hogeList.add(hoge+fuga);
} else if (hoge != null) {
hogeList.add(hoge);
}
// 例3の改善案②(if-else文なら三項演算子でまとめられる場合も)
if(hoge != null) {
hogeList.add((fuga != null) ? hoge+fuga : hoge);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment