Shorthand Operator
Prefer shorthand operators (+=, -=, *=, /=) over doing the operation and assigning
- Identifier: shorthand_operator
- Enabled by default: Yes
- Supports autocorrection: No
- Kind: style
- Analyzer rule: No
- Minimum Swift compiler version: 5.0.0
- Default configuration: error
Non Triggering Examples
foo -= 1
foo -= variable
foo -= bar.method()
self.foo = foo - 1
foo = self.foo - 1
page = ceilf(currentOffset - pageWidth)
foo = aMethod(foo - bar)
foo = aMethod(bar - foo)
public func -= (lhs: inout Foo, rhs: Int) {
lhs = lhs - rhs
}
foo /= 1
foo /= variable
foo /= bar.method()
self.foo = foo / 1
foo = self.foo / 1
page = ceilf(currentOffset / pageWidth)
foo = aMethod(foo / bar)
foo = aMethod(bar / foo)
public func /= (lhs: inout Foo, rhs: Int) {
lhs = lhs / rhs
}
foo += 1
foo += variable
foo += bar.method()
self.foo = foo + 1
foo = self.foo + 1
page = ceilf(currentOffset + pageWidth)
foo = aMethod(foo + bar)
foo = aMethod(bar + foo)
public func += (lhs: inout Foo, rhs: Int) {
lhs = lhs + rhs
}
foo *= 1
foo *= variable
foo *= bar.method()
self.foo = foo * 1
foo = self.foo * 1
page = ceilf(currentOffset * pageWidth)
foo = aMethod(foo * bar)
foo = aMethod(bar * foo)
public func *= (lhs: inout Foo, rhs: Int) {
lhs = lhs * rhs
}
var helloWorld = "world!"
helloWorld = "Hello, " + helloWorld
angle = someCheck ? angle : -angle
seconds = seconds * 60 + value
Triggering Examples
↓foo = foo - 1
↓foo = foo - aVariable
↓foo = foo - bar.method()
↓foo.aProperty = foo.aProperty - 1
↓self.aProperty = self.aProperty - 1
↓foo = foo / 1
↓foo = foo / aVariable
↓foo = foo / bar.method()
↓foo.aProperty = foo.aProperty / 1
↓self.aProperty = self.aProperty / 1
↓foo = foo + 1
↓foo = foo + aVariable
↓foo = foo + bar.method()
↓foo.aProperty = foo.aProperty + 1
↓self.aProperty = self.aProperty + 1
↓foo = foo * 1
↓foo = foo * aVariable
↓foo = foo * bar.method()
↓foo.aProperty = foo.aProperty * 1
↓self.aProperty = self.aProperty * 1
↓n = n + i / outputLength
↓n = n - i / outputLength