“代码重复”到底是什么

2024-04-24 17:13:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我从书中读到(从Python新手到专业人士)说“通常认为重复代码是件坏事”(我不是母语人士,所以我不确定最初是如何编写的),并说:

#===11-7===
file = open(PATH)
while True:
    char = file.read(1)
    if not char: 
        break
    print('Processing:', char)
file.close()

优于:

#===11-6===
file = open(PATH)
char = file.read(1)
    while char:
        print('Processing:', char)
        char = file.read(1)
file.close()

因为11-7避免了代码重复。所以我来问:什么是代码重复?有那么糟糕吗?你知道吗

仅仅是从11-6表中判断,我看不出有什么。。。缺点,老实说,如果我没有看这本书,我会喜欢11-6这样的代码。~谢谢~


Tags: path代码closereadopenfileprintchar
1条回答
网友
1楼 · 发布于 2024-04-24 17:13:49

第二个示例在两个位置执行读取操作。所以呢

假设您编写了这段代码,并且在将来的某个时刻,您更改了读取数据的方式;也许现在您希望通过网络而不是从文件中读取数据,或者您希望使用不同的函数从文件中读取数据。在第一个例子中,你只需要改变“文件.read(1) “在一个地方,而在第二个地方,你必须在两个地方做,你可能会错过其中一个,或犯错误,等等

类似地,您可能会在代码中发现一个bug,并意外地只在这两个地方之一修复它。你知道吗

这显然是一个简化的例子,在这个例子中,这并不重要,但在现实世界中,这样的错误很容易犯:想象一下,这不是一行代码,而是50行重复的代码,有人在一个副本中修复了一个bug,但在另一个副本中却没有。您现在遇到了一个可能很难调试的问题!你知道吗

相关问题 更多 >