> Le 30 juin 2015 à 23:46, Quincey Morris <[email protected]>
> a écrit :
>
> On Jun 29, 2015, at 15:42 , Rick Mann <[email protected]> wrote:
>>
>> Here's an example (and this is what I frequently encounter) where requiring
>> parameter names adds nothing but clutter:
>>
>> let config = WKWebViewConfiguration()
>> self.webView = WKWebView(frame: self.webViewContainer.frame,
>> configuration: config);
>
> I’ve been thinking about this since yesterday, and while I don’t particularly
> agree that the parameter names are extraneous in *this* case, I can think of
> a couple of special cases:
>
> 1. If the function/method being called has extremely well-known parameters,
> then I think I’d prefer the function to have a form that omits the names. In
> particular, CGRect, CGPoint and CGSize:
>
>> let rect = CGRect (x: 0, y: 0, width: 10, height: 10) // vs:
>> let rect = CGRect (0, 0, 10, 10)
>
Only because you are used to CGRect. QuickDraw used to defined a rect using
left, top, right, bottom values. Here you assume that your code reader is
already familiar with the API.
> The point here is that the parameter semantics are known from the *name* of
> the function, not from the actual parameters. We have this convention
> already, in the default behavior where the first keyword to a regular
> function/method is omitted:
>
>> doSomethingWithRect (someRect)
>
>
> This is similar to the CGRect initializer case, in that we know from the name
> what the parameter is (because it tells us, in this case, not necessarily
> because we knew it in advance).
>
> 2. There’s common situation where a variable name very often *is* a parameter
> keyword. For example:
>
>> init (frame: CGRect, configuration: WKWebViewConfiguration) {
>> super.init (frame: frame, configuration: configuration)
>> }
>
> In this case, the name of the variable in the ‘super’ call *is* the same as
> the keyword, because that’s a syntactic default in Swift. Under these
> circumstances, I could see this being allowed:
>
>> init (frame: CGRect, configuration: WKWebViewConfiguration) {
>> super.init (frame, configuration)
>> }
>
> It may or may not be desirable to require that the keywords are all omitted
> or all retained, or that this would only work for parameter variables (which
> have a natural relationship to their keyword).
>
> What do you think? This wouldn’t eliminate all the cases you’ve set your
> sights on, but it would probably remove the most egregious ones. If there’s
> some consensus here, I’ll file radars.
>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list ([email protected])
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/mailing%40xenonium.com
>
> This email sent to [email protected]
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]