[CM-995] Add new linter rules and fix warnings #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduction
Our style guide requires the use of implicit return and our library team requires full documentation, so we should add linter rules to enforce these things instead of having to spot them during code review.
Purpose
Update SwiftLint config with
implicit_return
andmissing_docs
rules. Fix any linter violations.Scope
.swiftlint.yml
Discussion
YCoreUI had some violations of the
implicit_return
rule.The other changes come from changes to a recent version of SwiftLint (0.50.1) which altered the behavior of the
body_length
, andfile_length
rules. There’s also a new change in how SwiftLint enforces thelarge_tuple
rule. I just disabled it for the unit tests in question. (Not worth declaring specialty struct’s in this case in my opinion.) There’s also one use in the source code in theUIColor
extension that parses out the rgba channel values. I didn’t want to change that and a struct seemed super heavy compared to a tuple of 4 float values.I also deleted some unused colors that were being declared for unit tests (one of the deleted color triggered the
missing_docs
rule because it had been declared aspublic
).We want to roll out these changes to all of our YML libraries, both in Bitbucket and on GitHub.
Fixes Issue #33
📈 Coverage
Unchanged. And documentation coverage should now be enforced by the linter!