The use of ``++self++`` is optional except when in closure expressions, and when it's needed to distinguish between property names and arguments. For the sake of brevity, ``++self++`` should be omitted when it's not strictly required.

== Noncompliant Code Example

[source,swift]
----
class Car {
  var color: Int

  init(color: Int) {
    self.color = color
  }

  func fade() {
    self.color--  // Noncompliant
  }
}
----

== Compliant Solution

[source,swift]
----
class Car {
  var color: Int

  init(color: Int) {
    self.color = color
  }

  func fade() {
    color--
  }
}
----

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[]
