> On Dec 19, 2015, at 12:37 PM, ilya via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> I prefer 
> 
> if let vc = someInterestingViewConroller {
>   vc.doSomething()
> }
> 
> - Explicit is better than implicit
> - shadowing is bad 
> - now there's no ambiguity about how to change the original property. 
> 
> Therefore I'm -1 on any proposal that hides explicit name binding and/or 
> increases shadowing, including let foo and unwrap foo. 

+1 to that.  IMO re-using the same name for the unwrapped version of an 
optional variable does not help readability, and I don't want to encourage it.  
In a localized context like this, a short name is often better anyway as it 
declutters the code inside the block.

> 
> On Sat, Dec 19, 2015 at 21:31 Kevin Wooten via swift-evolution 
> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> As much fun as it to example with foo, I would argue the opposite when you 
> use some real world variable names:
> 
> if let someInterestingViewConroller = someInterestingViewConroller {
> }
> 
> vs
> 
> If let someInterestingViewConroller {
> }
> 
> We know what let does and it should be enough to impart the necessary 
> information for this statement.
> 
> When it comes to newcomers I think you'd be hard pressed to find somebody 
> who'd be able to understand either form without teaching; so not losing much 
> there.
> 
> 
> On Dec 19, 2015, at 10:01 AM, Chris Lattner via swift-evolution 
> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> 
>> 
>>> On Dec 11, 2015, at 8:19 AM, Jeff Kelley via swift-evolution 
>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>> 
>>> I’ve had similar ideas to this. Instead of ditching the if let syntax 
>>> altogether, another approach would be to use the existing name if no new 
>>> name is given, so that this code:
>>> 
>>>     if let foo = foo { /* use foo */ }
>>> 
>>> could become this code:
>>> 
>>>     if let foo { /* use foo */ }
>>> 
>>> In both cases, foo is non-optional inside the braces. If you gave it 
>>> another name with the if let syntax, that would work as it does today.
>> 
>> Hi Jeff,
>> 
>> This is commonly requested - the problem is that while it does help reduce 
>> boilerplate, it runs counter to the goal of improving clarity.
>> 
>> -Chris
>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>  _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
-Dave



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

Reply via email to