我很好奇某些东西是如何工作的yum所以我正在查看它的一些得分代码,我在erasePkgs函数中发现了这一行cli.py.
if False: pass
elif basecmd in ('erase-n', 'remove-n'):
rms = self.remove(name=arg)
.
.
.
Run Code Online (Sandbox Code Playgroud)
在if False: pass不执行任何操作是否正确?它永远不会进入那个分支它总是只是跳到下一个不是吗?
以下是源代码的链接: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:
...
Run Code Online (Sandbox Code Playgroud)
这比可读性略高一些
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:
...
Run Code Online (Sandbox Code Playgroud)