2023-05-03 11:06:20 +02:00
== Why is this an issue?
2021-04-28 16:49:39 +02:00
Brevity may be the soul of wit, but concise (yet readable!) code is the soul of good programming. For that reason, you should never use a ``++let++`` or ``++var++`` keyword that can be left out with the same effect.
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,swift]
2021-04-28 16:49:39 +02:00
----
if let x = x, let y = y { // Noncompliant
// ...
}
if let p = p, var q = q {
// ...
}
if case (let x?, let y?) = foo { // Noncompliant
// ...
}
----
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Compliant solution
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,swift]
2021-04-28 16:49:39 +02:00
----
if let x = x, y = y {
// ...
}
if let p = p, var q = q {
// ...
}
if case (x?, y?) = foo {
// ...
}
----
2021-04-28 18:08:03 +02:00
2021-06-02 20:44:38 +02:00
2021-06-03 09:05:38 +02:00
ifdef::env-github,rspecator-view[]
2021-09-20 15:38:42 +02:00
'''
== Implementation Specification
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== Message
* Remove the other "[let|var]" keywords in this condition.
* Remove the "let" keywords in this case.
=== Highlighting
* primary: the first ``++let++``|``++var++``
* secondary: the other ``++let++``|``++var++`` instances
2021-09-20 15:38:42 +02:00
2021-06-08 15:52:13 +02:00
'''
2021-06-02 20:44:38 +02:00
== Comments And Links
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== on 8 Jul 2016, 19:50:43 Ann Campbell wrote:
http://ericasadun.com/2015/11/17/a-handful-of-swift-style-rules-swiftlang/ - Rule of Pattern Matching Keywords + Rule of Conditional Binding Cascades
2021-06-03 09:05:38 +02:00
endif::env-github,rspecator-view[]