yum源中的if语句无用

时间:2018-11-08 19:33:38

标签: python yum

我很好奇yum中的某些功能,因此我查看了它的某些得分代码,并在erasePkgs的{​​{1}}函数中找到了这一行

cli.py.

if False: pass elif basecmd in ('erase-n', 'remove-n'): rms = self.remove(name=arg) . . . 没正确吗?它永远不会进入那个分支,总是跳到下一个分支吗?

以下是源代码的链接:https://github.com/rpm-software-management/yum/blob/master/cli.py。在1268行。

1 个答案:

答案 0 :(得分:5)

这似乎是开发人员对通用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:
            ...