不良代码展示-很多判断的写法-给新手
2011-09-22 19:57
204 查看
原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6801695
今天Review代码,看到了一串很“漂亮”的代码。这里把代码改了一下,贴给新手们,作为一个教训吧。
漂亮的意思,是有很工整的缩进。
其实,这么写是完全没有必要的。这么多的else,其实可以叠在else if里面,如下:
其实这个效率不高。其实传入的参数View,就是被按住的那个按钮,不需要用equals判断,直接用“ == ”来判断就可以了。
当然,最好的还不是用“ == ”,而是用switch - case.
仅给新人学习,高手勿喷。
今天Review代码,看到了一串很“漂亮”的代码。这里把代码改了一下,贴给新手们,作为一个教训吧。
漂亮的意思,是有很工整的缩进。
package com.hoperun; import android.view.View; import android.view.View.OnClickListener; /** * 数字键盘监听器 */ public class NumListener implements OnClickListener { public void onClick(View v) { if (v.equals(btnNum0)) { //按键0 } else { if (v.equals(btnNum1)) { //按键1 } else { if (v.equals(btnNum2)) { //按键2 } else { if (v.equals(btnNum3)) { //按键3 } else { if (v.equals(btnNum4)) { //按键4 } else { if (v.equals(btnNum5)) { //按键5 } else { if (v.equals(btnNum6)) { //按键6 } else { if (v.equals(btnNum7)) { //按键7 } else { if (v.equals(btnNum8)) { //按键8 } else { if (v.equals(btnNum9)) { //按键9 } else { if (v.equals(btnNumAdd)) { //按键加法 } else { if (v.equals(btnNumSubtraction)) { //按键减法 } else { if (v.equals(btnNumEquals)) { //按键等于 } } } } } } } } } } } } } } }
其实,这么写是完全没有必要的。这么多的else,其实可以叠在else if里面,如下:
package com.hoperun; import android.view.View; import android.view.View.OnClickListener; /** * 数字键盘监听器 */ public class NumListener implements OnClickListener { public void onClick(View v) { if (v.equals(btnNum0)) { //按键0 } else { if (v.equals(btnNum1)) { //按键1 } else if (v.equals(btnNum2)) { //按键2 } else if (v.equals(btnNum3)) { //按键3 } else if (v.equals(btnNum4)) { //按键4 } else if (v.equals(btnNum5)) { //按键5 } else if (v.equals(btnNum6)) { //按键6 } else if (v.equals(btnNum7)) { //按键7 } else if (v.equals(btnNum8)) { //按键8 } else if (v.equals(btnNum9)) { //按键9 } else if (v.equals(btnNumAdd)) { //按键加法 } else if (v.equals(btnNumSubtraction)) { //按键减法 } else if (v.equals(btnNumEquals)) { //按键等于 } } }
其实这个效率不高。其实传入的参数View,就是被按住的那个按钮,不需要用equals判断,直接用“ == ”来判断就可以了。
当然,最好的还不是用“ == ”,而是用switch - case.
package com.hoperun; import android.view.View; import android.view.View.OnClickListener; /** * 数字键盘监听器 */ public class NumListener implements OnClickListener { public void onClick(View v) { switch (v.getId()) { case R.id.key_0: //按键0 break; case R.id.key_1: //按键1 break; case R.id.key_2: //按键2 break; case R.id.key_3: //按键3 break; case R.id.key_4: //按键4 break; case R.id.key_5: //按键0 break; case R.id.key_6: //按键6 break; case R.id.key_7: //按键7 break; case R.id.key_8: //按键8 break; } } }
仅给新人学习,高手勿喷。
相关文章推荐
- 不良代码展示-很多判断的写法-给新手
- 不良代码展示-不要用数组循环判断等于的方式,来判断一个对象是否在一个集合内
- 不良代码展示-欺负我不懂三目运算符啊
- 不良代码展示-Android中的位运算的例子(二)
- 不良代码展示-高耦合度代码的例子
- 不良代码展示-Android画面UI中的线程约束
- 判断一个对象是否为null的代码:if(null != 对象名),这样写法的好处.
- 不良代码展示-String的循环拼接
- 不良代码展示-Activity中使用线程的例子
- 不良代码展示-Android中List和数组的例子(一)
- 不良代码展示-两个数组找不同
- 不良代码展示-Android中List和数组的例子(二)
- 不良代码展示-Activity中使用线程的例子
- 不良代码展示-不要把胖对象放在列表中
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- JS复杂判断的更优雅写法代码详解
- 不良代码展示-尽量强制转换减少toString()的调用
- 不良代码展示-Android排序的实现
- [JS]js判断值是否为空的代码写法示例
- 不良代码展示-父类中可以抽象出子类的行为