
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
69 lines
1.2 KiB
Plaintext
69 lines
1.2 KiB
Plaintext
== Why is this an issue?
|
|
|
|
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.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,swift]
|
|
----
|
|
if let x = x, let y = y { // Noncompliant
|
|
// ...
|
|
}
|
|
|
|
if let p = p, var q = q {
|
|
// ...
|
|
}
|
|
|
|
if case (let x?, let y?) = foo { // Noncompliant
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,swift]
|
|
----
|
|
if let x = x, y = y {
|
|
// ...
|
|
}
|
|
|
|
if let p = p, var q = q {
|
|
// ...
|
|
}
|
|
|
|
if case (x?, y?) = foo {
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== 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
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== 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
|
|
|
|
endif::env-github,rspecator-view[]
|