[swift-evolution] [Pitch] Make the first parameter in a function declaration follow the same rules as the others

Dave Abrahams dabrahams at apple.com
Fri Mar 11 18:01:11 CST 2016


> On Mar 11, 2016, at 2:57 PM, Jordan Rose <jordan_rose at apple.com> wrote:
> 
> 
>> On Mar 11, 2016, at 13:30 , Dave Abrahams <dabrahams at apple.com <mailto:dabrahams at apple.com>> wrote:
>> 
>> 
>>> On Mar 11, 2016, at 11:27 AM, Joe Groff <jgroff at apple.com <mailto:jgroff at apple.com>> wrote:
>>> 
>>>> 
>>>> On Mar 11, 2016, at 11:20 AM, Jordan Rose via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> 
>>>> 
>>>>> On Mar 10, 2016, at 15:34 , Dave Abrahams via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>> 
>>>>> on Wed Mar 09 2016, Jordan Rose <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>> 
>>>>>> This is my concern too. Our guidelines often lead to the first
>>>>>> parameter having a label, but usually that name isn't the same as the
>>>>>> name of the parameter—one's a preposition, the other's a noun. I'm
>>>>>> pretty sure the common case is still unlabeled. 
>>>>> 
>>>>> It's about 50/50 (slight edge to labeled first parameters) in the
>>>>> imported Cocoa APIs.
>>>> 
>>>> If it's easy to get these numbers, how many of the first parameters have the same label as the parameter name?
>>> 
>>> If you're going to measure that, you should also measure it for second, third, ..., Nth parameters too for comparison.
>> 
>> Anyone who wants to measure is free to do so: simple regexps and wc generally work for this purpose.
>> 
>> https://github.com/apple/swift-3-api-guidelines-review/tree/swift-3/Platforms <https://github.com/apple/swift-3-api-guidelines-review/tree/swift-3/Platforms>
> …in retrospect, probably more of the Cocoa names would match up if they had this shorthand before:
> 
>   func beginSheetModal(for window: NSWindow, modalDelegate delegate: AnyObject?, didEnd didEndSelector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
> 
> - for/window is a true difference
> - modalDelegate/delegate is just convenience inside the method; it could have easily been modalDelegate/modalDelegate
> - didEnd/didEndSelector actually does match up in the original; the importer has (correctly) changed it to not match
> - contextInfo/contextInfo is a match

Sorry, I don’t know what you are trying to assert here.  Which shorthand?  We haven’t introduced any, and nobody’s proposing to add one.

> 
> So I'm not convinced results for the later parameters are meaningful. Haven't looked at first parameters yet.
> 
> Jordan
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160311/090e866a/attachment.html>


More information about the swift-evolution mailing list