Skip to content
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

Merged
merged 1 commit into from Jan 3, 2018

Conversation

aabadie
Copy link
Contributor

@aabadie aabadie commented Dec 20, 2017

Contribution description

This PR fixes the flake8 issues reported on the headerguards.py script.

Issues/PRs references

None

@aabadie aabadie added Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Area: tools Area: Supplementary tools labels Dec 20, 2017
@aabadie aabadie requested a review from cladmi December 20, 2017 15:38
error = False
for filename in sys.argv[1:]:
if fix_headerguard(filename) == False:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this changes semantics

Copy link
Contributor Author

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 ?

Copy link
Contributor

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?

Copy link
Contributor Author

@aabadie aabadie Dec 20, 2017

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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.

@kaspar030 kaspar030 merged commit fa3c033 into RIOT-OS:master Jan 3, 2018
@aabadie aabadie added this to the Release 2018.01 milestone Jan 18, 2018
@aabadie aabadie deleted the pr/flake8/fix_header_guards branch June 8, 2018 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: tools Area: Supplementary tools CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants