> 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