UPDATE: The consensus seems to be overwhelmingly in favour of the match variant. And not to worry, I have replaced the magic numbers with an enum. Will try to remember to merge the branch tomorrow
Does an if-statement block or a switch statement fit better here? For context (and advertisement), this is part of my all-purpose utility plugin ( Codeberg link)
The code:
# Method 1 (Yandere Dev Technique)
if self.throw_errors and status==MpupTest.TESTSTATUS.ERROR:
push_error(result)
if self.throw_warnings and status==MpupTest.TESTSTATUS.WARNING:
push_warning(result)
# Method 2 (Pirate Software Technique)
match status:
MpupTest.TESTSTATUS.ERROR:
if self.throw_errors:
push_error(result)
MpupTest.TESTSTATUS.WARNING:
if self.throw_warnings:
push_warning(result)


Are
1and2magic values in this case?You could use
consts or even use anenumto further improve readability:In the latter case, you’d change
statusto be the new enum typeStatus.edit: Wait, nevermind. I think you’re already using enums in the actual code (not screenshot).
Oh yeah, I forgot to update the screenshot, yes. Thanks for reassuring me that it was good decision to use an enum!