编程效率是什么?一个例子告诉你(附代码)

GoogleVip8 1年前 ⋅ 350 阅读

软件开发过程中很多时候要考虑内存资源和程序执行效率等问题,当然对于初学者来说可以不必在意这些,但在编写代码时一定要注意有这么一回事。本文将以一个简单的例子来说明效率的问题,以供大家参考、学习。

编程效率

一个例子:for+if

以下代码实现的功能是一样的,只不过在编码上结构不同。这两种代码各有优缺点,感兴趣的读者可以自行总结并和后文中的答案做对比。

1 for+

void forFunc2(boolean flag, int n) {

    if (flag) {

        for (int i = 0; i < n; i++) {
            
			// do something
        }
    } else {

        for (int i = 0; i < n; i++) {
            
            // do something
        }
    }
}

2 for+if

void forFunc2(boolean flag, int n) {
    
    for (int i = 0; i < n; i++) {
        
        if (flag) {
            
            // do something
        } else {

            // do something
        }
    }
}

两种写法的优缺点对比

其实这两种代码咋一看除了长度不一样的问题之外很难看出其他问题,因为时间复杂度都是一样的,但大家忽略了for循环被if“打断”的话将降低效率的情况,那么这里总结一下:

1 for+2 for+if
优点:循环效率高优点:代码简洁
缺点:代码不简洁缺点:多次执行了N-1次判断;
打断了循环“流水线作业”,使得编译器无法优化循环,降低了执行效率

总结

本文的目的是为了说明在代码编写中要考虑程序执行效率的问题,提醒大家在做软件开发的过程中尽量要考虑到这些潜在的问题以提升软件质量。


全部评论: 0

    我有话说: