复杂优于复杂"是什么意思?

52 投票
7 回答
13206 浏览
提问于 2025-04-16 09:14

在《Python之禅》中,Tim Peters提到了一句“复杂比复杂更好”,这句话让我感到困惑。有没有人能给我更详细的解释或者举个例子呢?

7 个回答

3

对于“复杂”,困难的地方在表面上。(你的描述很复杂。)

而对于“复杂性”,困难的地方在表面之下。(比如一辆车就是复杂的。)

就像EinLama的例子所展示的那样。

14

复杂:做很多事情,通常是不可避免的。

复杂的:难以理解。

我喜欢这句话(来源):

一个复杂的人就像一个iPod。也就是说,他们是一致的、直接的,且“用户友好”,同时又相当复杂。与复杂的人交往不需要特别了解他们复杂的方式,因为他们的方式并不复杂。当犯错时,他们通常很宽容,因为他们理解人是有缺陷的。简而言之,他们是成熟、理智的人。

还有这句话(来源):

空客A380是复杂的。水母是复杂的。巴黎地铁网络是复杂的。人们使用它的方式是复杂的。你的骨架是复杂的。你是复杂的。一座建筑是复杂的。一座城市是复杂的。

更多相关文章:

55

虽然“复杂”和“繁琐”听起来相似,但在这个上下文中,它们的意思并不相同。

因此,Zen(禅)说:构建非常复杂的应用程序是可以的,只要这个需求是合理的。

举个例子:

counter = 0
while counter < 5:
   print counter
   counter += 1

这段代码非常容易理解,并不复杂。然而,它是繁琐的。你不需要手动执行上面大部分步骤。

for i in xrange(5):
   print i

这段代码比上面的例子更复杂。但是:只要了解´xrange´的文档,你一眼就能明白它。很多步骤都隐藏在一个易于使用的界面后面。

随着过程变得越来越大,繁琐和复杂之间的差距也越来越大。

一个简单的经验法则是遵循Python Zen的其他原则:

如果很难解释,那就不是个好主意。

如果容易解释,那可能是个好主意。

撰写回答