diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 1a2c0cf..ecd93d1 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -5,9 +5,9 @@ This code review checklist is intended to serve as a starting point for the auth - [ ] Self-review: Did you review your own code in GitHub's web interface? Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs. - [ ] Automated tests: Did you add appropriate automated tests for any code changes? - [ ] Code coverage: Did you check the code coverage report for the automated tests? While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. -- [ ] Documentation: Did you update Docs as appropiate? (E.g [README.md](../blob/main/README.md), [LICENSE.md](../blob/main/LICENSE.md), etc.) +- [ ] Documentation: Did you update Docs as appropiate? (E.g [README.md](../blob/main/README.md), etc.) - [ ] Run the app: Did you run the app and try the changes? -- [ ] Did you provide Screenshots of what the App looks like before and your changes? (only applicable to UI Changes) +- [ ] Did you provide Screenshots of what the App looks like before and after your changes as part of the description of this PR? (only applicable to UI Changes) - [ ] Rebase and squash: Did you pull in the latest changes from the main branch and squash your commits before assigning a reviewer? Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit. diff --git a/SWIFTLINT.md b/SWIFTLINT.md index 0c1671c..b9333a1 100644 --- a/SWIFTLINT.md +++ b/SWIFTLINT.md @@ -16,7 +16,7 @@ These guides use SwiftLint as a standard. You can learn more about SwiftLint by * [Running SwiftLint](#running-swiftlint) * [Handling rule exceptions](#handling-rule-exceptions) * [Approved exceptions](#approved-exceptions) - * [Implicitly Unwrapped Optionals](#implicitly-unwrapped-optionals) + * [Implicitly unwrapped optionals](#implicitly-unwrapped-optionals) * [Force cast](#force-cast) * [Force unwrapping](#force-unwrapping) * [SwiftUI and multiple trailing closures](#swiftui-and-multiple-trailing-closures) @@ -82,9 +82,9 @@ There are certain common idioms that violate SwiftLint's strict checking. If you If you find that you're struggling with rules other than those described below, please reach out to your Team Lead with your specific example. -### Implicitly Unwrapped Optionals +### Implicitly unwrapped optionals -It is sometimes common, in lieu of using dependency injection, to declare a child view controller's properties as Implicitly Unwrapped Optionals (IUO). If you're unable to structure your project to avoid this, you may disable the `implicitly_unwrapped_optional` rule for those dependency declarations. With the advent of `@IBSegueAction`, this should be rare. +It is sometimes common, in lieu of using dependency injection, to declare a child view controller's properties as implicitly unwrapped optionals (IUO). If you're unable to structure your project to avoid this, you may disable the `implicitly_unwrapped_optional` rule for those dependency declarations. With the advent of `@IBSegueAction`, this should be rare. ### Force cast @@ -133,6 +133,4 @@ Occasionally, you'll find it necessary to include an unmodified open-source file ## Other notes -While SwiftLint goes a long way towards making your source code compliant with our style guide, it doesn't cover everything. For example, it won't catch or force you to correct the formatting for multi-condition `guard` statements. (See [Golden Path](https://github.com/raywenderlich/swift-style-guide#golden-path) for correct formatting.) - -This configuration has been tested against several dozen of our most recent tutorials. A couple of rules, such as the line length limit or the limit on the length of a function, may need tweaking to fit our style. If you find yourself butting heads with SwiftLint, please reach out to the iOS Team Lead with details. \ No newline at end of file +While SwiftLint goes a long way towards making your source code compliant with our style guide, it doesn't cover everything. For example, it won't catch or force you to correct the formatting for multi-condition `guard` statements. If you find yourself butting heads with SwiftLint, or have improvement suggestions, please file an Issue and send a PR request with your suggestions. \ No newline at end of file diff --git a/co.electriccoin.swiftlint.yml b/co.electriccoin.swiftlint.yml index 58a865c..3ea9fb6 100644 --- a/co.electriccoin.swiftlint.yml +++ b/co.electriccoin.swiftlint.yml @@ -10,11 +10,12 @@ disabled_rules: - orphaned_doc_comment - todo - unused_capture_list - -opt_in_rules: - nesting # allow for types to be nested, common pattern in Swift - multiple_closures_with_trailing_closure - generic_type_name # allow for arbitrarily long generic type names + +opt_in_rules: + - mark - array_init - attributes - closure_end_indentation @@ -119,11 +120,15 @@ indentation_width: indentation_width: 2 line_length: - warning: 600 + warning: 150 ignores_urls: true ignores_function_declarations: true ignores_comments: true +file_length: + warning: 600 + ignore_comment_only_lines: false: true + multiline_arguments: first_argument_location: next_line only_enforce_after_first_closure_on_first_line: true