I will often use this rule: If a scope need to use ‘self’ at least once, then I 
will always use ‘self’ in that scope.
Otherwise I won’t use ’self’ at all.

There are always exceptions though, first and foremost: if the usage of ‘self’ 
hinders understandability of the code (interferes with self documentation), 
then don’t use it.
Also the usage of ‘self’ in a guard statement does not count.

Mostly though I will try and avoid the necessity for using ’self’ at all. It 
often is an indication that names are not correct or not optimal. 

Regards,
Rien

Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Balancingrock
Project: http://swiftfire.nl - A server for websites build in Swift






> On 23 May 2017, at 11:30, Tino Heth via swift-users <swift-users@swift.org> 
> wrote:
> 
> Well, sometimes it might be important that you are dealing with an instance 
> variable, and in other cases, it's just clutter:
> struct Triangle {
>       var a: Float
>       var b: Float
>       var c: Float
> 
>       var isSquare: Bool {
>               return self.a * self.a + self.b * self.b == self.c * self.c
>       }
> 
>       var isStillSquare: Bool {
>               return a * a + b * b == c * c
>       }
> }
> Imho the second variant is clearly better than the first, and it would be bad 
> to enforce self.
> 
> My personal rule of thumb for this is: Use the self prefix for things that 
> should change self, skip it for read-only access — but the exact "rules" are 
> quite arcane, and I think the compiler shouldn't have to deal with 
> complicated rules that still would fail to make everyone happy.
> So, I think the current approach is the best we can do.
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to