[swift-evolution] [Review] SE-0005 Better Translation of Objective-C APIs Into Swift
swift-evolution at haravikk.me
Wed Jan 27 16:15:37 CST 2016
On 27 Jan 2016, at 21:48, Rob Mayoff via swift-evolution <swift-evolution at swift.org> wrote:
>>> - func respondWith(data: Data)
>>> + func respond(data data: Data)
>> This one is unusual. I don’t mind `respond(data: …)`, but generally there’s a word to the right of “with”, and here the “with” was just to imply the argument without naming it.
> The original ObjC method name was “respondWithData:”. “Data” restates type info, so SE-0023 stripped it off; this transformation makes it the first argument label.
> Can I tell, at a call site, whether `respond(data: someData)` is responding with someData, or responding to someData?
> That is, can I tell whether someData is the response, or instead is something from the request that the receiver will use to compute the response?
> If I see `respondWith(someData)` or `respondWith(data: someData)` or `respondWithData(someData)`, it's clear to me that someData is the response, while a hypothetical call `respondTo(someData)` would tell me that someData is the input to the response-computing algorithm.
I’d like to reiterate that my preference for cases like these would be:
respond(withData data: Data)
This way the action (function name) is still simplified to respond, but the sentence structure remains for clarity, which I still think is the best of both worlds.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution