switch case正确的使用姿势——在代码之外的思考
来源:互联网 发布:网络教育统考报名时间 编辑:程序博客网 时间:2024/06/11 19:00
switch case正确的使用姿势——在代码之外的思考
一个简单的switch case语句,假设meg有三个case,A、B、和C:
1. 第1种写法
这种写法也在我接手的项目里出现。
String result = "";switch (meg) { case A: //do something case A result = "A"; break; case B: //do something case B result = "B"; break; default: //do something case C result = "C";}
看起来好像没啥问题?
2.第2种写法
String result = "";switch (meg) { case A: //do something case A result = "A"; break; case B: //do something case B result = "B"; break; case C: //do something case C result = "C"; break; default: Log.e(TAG, "Didn't match any case!");}
第二种写法将default用于异常数据的检查,而不是第一种作为一个case使用。对比一下,我们能够发现第二种写法的质量更高:
第二种更容易让阅读者明白这个switch有3个case,分别为A、B和C,而第一种则容易让读者混淆,他还要去看下msg定义了哪几种case。
第二种对非正常数据进行了处理,输出了日志,为debug提供了线索;而第一种则没有对非正常case进行处理,也就是埋下了一个安全隐患。试想一下某天要是这里出了问题,要查出来估计也要走点弯路。
代码之外的思考
这只是软件工程里面很小的一点内容,出了会写代码,写出能跑的代码,你能够写出健壮稳定的代码吗?在相对浮躁的IT圈里,你是否能够沉得下心来夯实基础?你是否能够像工匠一样雕琢出精致的作品?这也是我经常思考的问题。
0 0
- switch case正确的使用姿势——在代码之外的思考
- time.After 在select-case中使用的正确姿势
- switch case的使用
- Fragment使用的正确姿势
- git 的正确使用姿势
- 使用libcurl的正确姿势
- datasheet 使用的正确姿势
- layout_weight的正确使用姿势
- ActivityLifecycleCallbacks的正确使用姿势
- SharedPreference使用的正确姿势
- 使用layoutinflater的正确姿势
- WWW的正确使用姿势
- 使用layoutinflater的正确姿势
- MongoDB的正确使用姿势
- 枚举使用的正确姿势
- 使用SQLiteOpenHelper的正确姿势
- 动画的正确使用姿势
- FragmentTabHost的正确使用姿势
- java web 标签库 jstl;spring tag;spring secu
- 派生类构造函数执行次序
- 《HeadFirst设计模式》读书笔记-第3章-装饰者模式
- 贝叶斯公式在生活中的应用
- hadoop的hdfs常用文件操作命令
- switch case正确的使用姿势——在代码之外的思考
- wordpress修改固定链接
- Java泛型
- java静态绑定和动态绑定
- 结构型模式-代理(proxy)
- 第二十八、Java面向对象之抽象类
- 转发:总结一些JavaScript开发的著名开源项目
- RocketMQ(五)性能测试报告
- 设置聊天游戏服务器的思路