New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dist/tools/headerguards: fix flake8 issues #8306
Conversation
error = False | ||
for filename in sys.argv[1:]: | ||
if fix_headerguard(filename) == False: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this changes semantics
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed, so fix_headerguard
should return True at the end ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix_headerguard()
returns "False" on error. The call site checks for that. Why change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why change?
flake8 --config=dist/tools/flake8/flake8.cfg dist/tools/headerguards/
...
dist/tools/headerguards/headerguards.py:80:38: E712 comparison to False should be 'if cond is False:' or 'if not cond:'
I chose the second solution, because it's cleaner: fix_headerguard()
should explicitly return True when problems are detected, False otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then why not if fix_headerguard() is False:
?
it's cleaner: fix_headerguard() should explicitly return True when problems are detected, False otherwise.
debatable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in general explicit is better than implicit. With the first suggestion, the function returns None when problems are detected, False otherwise. Testing between False and None could lead to confusion and buggy code. That's why I chose the other proposition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code was explicit before you broke it. And why returning True on error leads to less confusion than returning False is something I don't think you'll find in any style guide.
The function could return True when there's no error. Would that improve readability? I doubt it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not spend too much time on this and move forward. I've just updated the PR with your preference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its basically a function that would benefit from being split in parts and the error case done with an exception, but its another PR.
0ce97bb
to
47cbacf
Compare
47cbacf
to
cfe2885
Compare
Contribution description
This PR fixes the flake8 issues reported on the
headerguards.py
script.Issues/PRs references
None