rspec/rules/S2148/swift/rule.adoc
Fred Tingaud 51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00

52 lines
1.1 KiB
Plaintext

== Why is this an issue?
In Swift it is possible to add underscores ('_') to numeric literals to enhance readability. The addition of underscores in this manner has no semantic meaning, but makes it easier for maintainers to understand the code.
The number of digits to the left of a decimal point needed to trigger this rule varies by base.
[frame=all]
[cols="^1,^1"]
|===
|Base| Minimum digits
|binary| 9
|decimal| 6
|octal| 9
|hexadecimal| 9
|===
=== Noncompliant code example
[source,swift]
----
let i = 10000000 // Noncompliant; is this 10 million or 100 million?
let j = 0b01101001010011011110010101011110 // Noncompliant
let l = 0x7fffffffffffffff // Noncompliant
----
=== Compliant solution
[source,swift]
----
let i = 10_000_000
let j = 0b01101001_01001101_11100101_01011110
let l = 0x7fff_ffff_ffff_ffff
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]