编写高效程序的技巧

2021-06-03 13:10发布

各位朋友们好,

我想了解一些与编程相关的技巧。

编写高效、快速的代码意味着什么?

如何快速高效地编写代码?

有人能告诉我一些关于如何编写高效代码的技巧吗?


8条回答
若有若无过日子
1楼 · 2021-06-03 13:10.采纳回答

编写快速或高效的代码意味着使用执行任务所需的最少指令数。每条指令被分配一个固定数目的时钟周期来执行其功能。为了做到这一点,你必须密切了解机器的指令集。在稍高的层次上,当使用编程语言lice C时,您需要了解编译器如何生成机器指令的内部信息,以便评估可选的编码策略。

很久以前,这是一个非常重要的练习,当时机器时间为每小时1000.00美元,程序员每小时的工作价格为2.25美元。现在你可以用1000.00美元买到比我们1962年设计的电脑更强大的电脑了,而一个普通的程序员每小时赚75.00美元(150,000.00美元/年),我们满足于让廉价的机器浪费掉时间,这样你就不用再浪费时间了。


探花哥
2楼-- · 2021-06-03 14:35

正如楼上所指出的,现在已经发生了变化。虽然编写内核代码的人可能仍然在编写指令,但“高效代码”现在与重用和维护有关。在当前环境中,易于阅读、注释良好和适当模块化的代码才是“高效的”。

Li_Lei
3楼-- · 2021-06-03 14:39

我想我们在编程过程中使用良好的控制结构、数据结构和算法的代码也很重要。我们今天不太担心处理器的时钟周期和速度,但增加不必要的代码处理是没有必要的。

soso
4楼-- · 2021-06-03 17:27

是的,我想说...编写高效的代码与编写易于阅读的代码不同。 有时,编写高度紧凑的代码提升的效率很少,进而牺牲代码的易读性是没有必要的。

人生如戏
5楼-- · 2021-06-03 17:31

接下来要注意的是熟悉各种通用算法。举个例子,你知道最快的排序方法吗?设置时间和执行时间之间存在相互作用,这使得选择变得不明显。

一剑孤行
6楼-- · 2021-06-03 18:28

如前所述,在程序的效率和程序员的效率之间有一种权衡。

在考虑程序的效率时,必须考虑高度迭代过程的最内部循环。这是CPU将花费大部分时间的地方。


计算机图形程序的内环是花费大量时间的地方,例如从(x1,y1)到(x2,y2)之间画一条线。

最初的Apple Macintosh电脑上的原始图形功能是由比尔·阿特金森(BillAtkinson)创建的,名为QuickDraw。这是从Lisa计算机上的一个早期版本LisaGraf派生出来的。比尔用帕斯卡写了函数。然后,为了压缩程序的最大效率,最基本的核心是用68000汇编程序编写的。


雨后彩虹
7楼-- · 2021-06-03 18:30

有趣的是,我要提到Bresnehan的算法,作为提高代码效率的一个例子。

我为PDP-11编写了一个图形包,它使用了该算法,但将一行代码“编译”到内存中,以便增量和测试是编码中的常量,以节省几个周期。


萌萌兔
8楼-- · 2021-06-04 08:06

完全高效的编码技术是不存在的。


这取决于处理器、编码语言、对库的依赖、程序员的技能以及他/她对编码技术的熟悉程度。


从一开始,我会搜索代码模板,还依赖于编程语言的选择。


另外,我会在效率和稳定性之间进行权衡。


我想说的是,你的问题没有一个答案。这一切都取决于其他几个“方面”。作为一名程序员,在尝试编写“高效”代码之前,你有责任掌握所有方面的技能。