复杂优于复杂"是什么意思?
在《Python之禅》中,Tim Peters提到了一句“复杂比复杂更好”,这句话让我感到困惑。有没有人能给我更详细的解释或者举个例子呢?
7 个回答
3
对于“复杂”,困难的地方在表面上。(你的描述很复杂。)
而对于“复杂性”,困难的地方在表面之下。(比如一辆车就是复杂的。)
就像EinLama的例子所展示的那样。
55
虽然“复杂”和“繁琐”听起来相似,但在这个上下文中,它们的意思并不相同。
因此,Zen(禅)说:构建非常复杂的应用程序是可以的,只要这个需求是合理的。
举个例子:
counter = 0
while counter < 5:
print counter
counter += 1
这段代码非常容易理解,并不复杂。然而,它是繁琐的。你不需要手动执行上面大部分步骤。
for i in xrange(5):
print i
这段代码比上面的例子更复杂。但是:只要了解´xrange´的文档,你一眼就能明白它。很多步骤都隐藏在一个易于使用的界面后面。
随着过程变得越来越大,繁琐和复杂之间的差距也越来越大。
一个简单的经验法则是遵循Python Zen的其他原则:
如果很难解释,那就不是个好主意。
如果容易解释,那可能是个好主意。