-
Notifications
You must be signed in to change notification settings - Fork 23
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
Fix warnings from MegaLinter #25
Comments
Before doing cpplint, I would start with clang-tidy. It has an auto-fixing feature. There's also |
No worries. I'll hold of for now and check out PR #26. I love the work you are doing on this pipeline and I'm keen to contribute if I can without getting in the way. |
Most importantly I wanted to avoid extra work on both sides by having merge conflicts. To avoid future merge conflicts, such a big change should be done once and early, before the masses of contributors pop up ;-) For my PR the major work is automated, so after deciding which changes shall be applied I need a ~2 day frame to do the changes and a review. During that time none of us should do bigger changes. If you agree on clang-format, then it should be done in the same PR. I hope this will be my last big PR with mass changes. I had a look into cpplints messages, I think the runtime and castings are not auto-fixed. The style checks should be disabled in favor of clang-format. |
And about IWYU, it seems to include some tool that can also auto-fix. My personal include preference is: the header corresponding to the source file, then project headers, then standard. |
The question about cmake-format is, if you want to apply the formatting all at once or not. |
Totally agree and love the work that you are doing on this.
Totally agree. Right now, I don't have anything planned that can't be parked and rebased. Regarding auto-fixing, Scott's Rule #0: Make the machines do the boring work (they are better at it).
Sounds like a good approach, using the right tools for the appropriate task. I'd forgotten how many type choices particularly from the earlier code was platform dependent. Certainly something to fix explicitly with appropriate "modern" types.
Given how rarely these change (other than major contributions like a new file format), I'd be comfortable with just a detection tool. But if you can get auto-fix working, it would be cool to see it in action.
Exactly the same for me. For extra pedantry, I also love seeing them in alphabetical order. I know for some, this is just stylistic but it shows attention to detail and frankly makes it easy to spot if you are doubling up.
Normally I'd like to separate functional from style changes for anything that isn't just a trivial fix but in this situation, I entirely agree. These are a major overhaul and it would be silly to hold off making the code clean at the same time. I'm happy to settle on C++11. There isn't too much in later editions that are likely to be directly of use (I had thought about doing something with CRCs and checksums using fold expressions but it isn't really that exciting). It may be worth the CXX_STANDARD to at least catch problems in older environments. |
First the simple fix should be done for portability reasons (maybe after or within #26).
See #27 to establish C++11 compatibility. |
I had vacation this week, so I could spend a good portion on SRecord. |
Thank you so much for doing all of this! It's a huge boost for the project. |
|
Following @jtxa's wonderful additions of MegaLinter and other workflows, there are a bunch of warnings including on coding style as SRecord style doesn't fit in with the default which appears to be the Google C++ style guide. I'm starting to take a look at fixing some of these. I suspect others will also start chipping away at the list.
I figured listing work in progress here might save doubling up and treading on each other's toes. I'm also using it as a nice easy introduction to GitHub workflows for my own education.
If anyone wants to grab one of these sub-tasks, please note it
cpplint
The text was updated successfully, but these errors were encountered: