63 lines
1.0 KiB
Plaintext
63 lines
1.0 KiB
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,swift]
|
|
----
|
|
var name = "Bob" // Noncompliant
|
|
|
|
func doSomething() { // Noncompliant
|
|
//...
|
|
}
|
|
|
|
class MyClass {
|
|
//...
|
|
}
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,swift]
|
|
----
|
|
public class MyClass {
|
|
public static var name = "Bob"
|
|
|
|
public class func doSomething() { // Compliant
|
|
//...
|
|
}
|
|
//...
|
|
}
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
The operator function is a function with a name that matches the operator to be overloaded. Because such functions can only be defined in a global scope, they are ignored by this rule.
|
|
|
|
----
|
|
public class Vector2D {
|
|
var x = 0.0, y = 0.0
|
|
// ...
|
|
}
|
|
|
|
func + (left: Vector2D, right: Vector2D) -> Vector2D {
|
|
return Vector2D(x: left.x + right.x, y: left.y + right.y)
|
|
}
|
|
----
|
|
|
|
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[]
|