如何写出艺术的代码

2017-05-28  本文已影响0人  华__

1、命名

2、注释

3、减少流程控制

4、一段代码只做一件事

5、写出简洁的代码

6、通过提前返回来简化逻辑控制

7、算法与数学

我们通过一个简单的例子来实现数学与程序的紧密结合。这道题很简单,对 自然数 x求和,比如 x = 6, sum = 0 + 1 + 2 + 3 + 4 + 5 + 6

你可能会感到很轻松,因为在程序中用一个简单的 for 循环就可以实现。我猜你第一个想到的可能是下面的算法。当然,这段代码使用Python写的,请不要在意range()这些Python内置函数,它就跟 C 里面的 for(i =0; i <= x; i++) 含义是一样的。

恩,代码看起来简洁有力,可是,如果x = 100000000呢,for 循环就要执行100000000次,时间和空间复杂度为 O(n)(可能有些不准呀)。这样是不是不太合理呢。

再想想初中学过的数学,是不是有下面的公式来求和。

ok,转换为程序。(当然没有加入 x > 0 程序异常控制什么的。。。),是不是简洁多了,时间和空间复杂度都变成O(1)了。

持续更新----------------------我会慢慢将代码贴上,,,

建议读者看看这本书哦

-------------------------------------------------------持续更新-------------------------------------------------------


上一篇下一篇

猜你喜欢

热点阅读