…什么是最令人沮丧的,但有点常见的,python“黑客”或语言功能滥用,有人可以介绍,这将导致噩梦的未来维护者的代码?
难以重构:
嵌套列表理解
(如在:多层深)。
大多数人(在学习python时)都对列表理解的强大功能和实用性着迷。这可能会导致过度使用它们并构建嵌套很深、复杂的组件。大多数时候,为了可读性和可维护性,相同的代码应该使用简单的循环来编写。我认为三个层次已经嵌套得太深了。
——
而且(重构起来并不难,但最让人恼火的是):
试图像使用python一样使用它
另一个
语言
(没有自己的特定结构);例如:
for i in range(len(mylist)):
item = mylist[i]
# do stuff with item
而不是
for i, item in enumerate(mylist):
# do stuff with item
或者甚至(你为什么需要索引):
for item in mylist:
# do stuff with item
这包括:当功能已经(恰当地命名)在富标准库中时(糟糕地)重新发明轮子。
还有类型检查,使东西无法子类化等等…