yum 源中无用的 if 语句
Useless if statement in yum source
我很好奇 yum
中的一些东西是如何工作的,所以我在查看它的一些分数代码时,我在 cli.py.
[=16] 的 erasePkgs
函数中找到了这一行=]
if False: pass
elif basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
.
.
.
if False: pass
什么都不对?它永远不会进入那个分支,它总是跳到下一个分支,不是吗?
这里是 link 的源代码:https://github.com/rpm-software-management/yum/blob/master/cli.py。它在第 1268 行。
这似乎是开发人员对通用 switch 语句的习惯用法。
if False: pass
elif basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
elif basecmd in ('erase-na', 'remove-na'):
...
elif basecmd in ('erase-nevra', 'remove-nevra'):
...
else:
...
比
可读性更强
if basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
elif basecmd in ('erase-na', 'remove-na'):
...
elif basecmd in ('erase-nevra', 'remove-nevra'):
...
else:
...
我很好奇 yum
中的一些东西是如何工作的,所以我在查看它的一些分数代码时,我在 cli.py.
[=16] 的 erasePkgs
函数中找到了这一行=]
if False: pass
elif basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
.
.
.
if False: pass
什么都不对?它永远不会进入那个分支,它总是跳到下一个分支,不是吗?
这里是 link 的源代码:https://github.com/rpm-software-management/yum/blob/master/cli.py。它在第 1268 行。
这似乎是开发人员对通用 switch 语句的习惯用法。
if False: pass
elif basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
elif basecmd in ('erase-na', 'remove-na'):
...
elif basecmd in ('erase-nevra', 'remove-nevra'):
...
else:
...
比
可读性更强 if basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
elif basecmd in ('erase-na', 'remove-na'):
...
elif basecmd in ('erase-nevra', 'remove-nevra'):
...
else:
...