《编写高质量代码:改善c程序代码的125个建议》——建议24:选择合理的case语句排序方法-阿里云开发者社区

开发者社区> 华章计算机> 正文

《编写高质量代码:改善c程序代码的125个建议》——建议24:选择合理的case语句排序方法

简介:
+关注继续查看

本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第3章,建议24,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

建议24:选择合理的case语句排序方法

对于switch中的case 语句排序问题,如果case 语句很少时,可以忽略这个问题。但是,如果case 语句很多时,那就需要好好考虑这个问题了。一般而言,可以选择下面3个建议进行合理排序。
建议24-1:尽量按照字母或数字顺序来排列各条case 语句
通常情况下,如果所有case 语句没有明显的重要性差别,并且发生的频率都差不多,那么可以按A-B-C 或1-2-3 等顺序来排列case语句。这样做不仅可以提高代码的可读性,而且可以很容易找到某条case 语句,如上面的代码清单3-2所示。
建议24-2:尽量将情况正常的case 语句排在最前面
如果switch中存在多个情况正常的case 语句,同时又存在多个情况异常的case 语句。那么应该尽量将情况正常的case 语句排在最前面,而将情况异常的case 语句排在最后面。同时,做好相应的注释,如下面的示例代码所示:

switch(i)
{

    /*正常情况开始*/
case 0:
    /*处理代码*/
    break;
case 1:
    /*处理代码*/
    break;
    /*正常情况结束*/

    /*异常情况开始*/
case -1:
    /*处理代码*/
    break;
case -2:
    /*处理代码*/
    break;
    /*异常情况结束*/

default:
    break;
}

建议24-3:尽量根据发生频率来排列各条case 语句
如果能够预测出每条case 语句大概的发生频率,就可以将执行频率最高的case 语句放在最前面,而将执行频率较低的case 语句放在最后面。这样不仅可以适当提高程序的性能,而且便于调试代码。因为执行频率最高的代码可能也是调试的时候要单步执行次数最多的代码。如果放在后面,找起来可能会比较麻烦,而放在前面则方便快速找到。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
排序算法大数据量测试代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Diagnostics; using System.IO; namespace Sort { class Program
812 0
JavaScript ~ 排序算法(选择排序)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link type="text/css" rel="stylesheet" href="style/flex.
928 0
C#编程-120:文件选择之OpenFileDialog控件
C#编程-120:文件选择之OpenFileDialog控件
15 0
理解C语言——从小菜到大神的晋级之路(2)——开发环境的选择和HelloWorld程序
视频观看:点击这里 一、常用系统及IDE简介        常言道,工欲善其事必先利其器。除了少数奇葩之外,大部分人应不会去使用记事本或者Word文档去编程吧?几乎所有编程语言都需要一个高效易用的开发环境,C语言也不例外。
1440 0
javascript 一个关于时间排序的算法(一个页面多个倒计时排序)
上周要做一个活动页面 秒杀列表页 需要一个时间的算法排序 自己琢磨了半天想了各种算法也没搞出来,后来问了下一个后台的php同学 他写了个算法给我看了下 ,刚开始看的时候觉得这就是个纯算法,不能转化成页面的dom效果,可是再看了两遍发现可以 于是我就改了改 实现了 不禁感叹 确实蛮赞的 于是就博一客;...
836 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载