<div dir="ltr">&gt; <span style="font-size:13px">Observation: I’ve never seen anyone write Swift code this way, with a proposition “with” on the first argument label. Have you?</span><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">I started doing that a couple months ago. It&#39;s a fine option, imho. I&#39;d prefer we keep </span>func names as verbs only, I&#39;m fine with a bunch of overloaded funds (the arguments are enough). I prefer arguments with prepositions, since without can be too vague. The last couple months I&#39;ve found naming things to be much easier, and understanding the functions easier at a glance because each part of the name does the same thing every time - unlike a verb sandwiched, sometimes with a noun, or argument labels that &quot;seem good at the time&quot; but then are confusing for the reasons Haaravik points out.</div><div><br></div><div>So for me, I prefer to read this type of thing:</div><div><br></div><div><span class="" style="white-space:pre">        </span>func farfelize( to_foo foo:Obj!, using_bar bar:Obj!, with_options opts:Choice! ){ ... }</div><div><br></div><div><br></div><div><br></div><div><span style="font-size:13px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 27, 2016 at 2:37 PM, Douglas Gregor via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="h5"><br><div><blockquote type="cite"><div>On Jan 27, 2016, at 2:15 PM, Haravikk via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">On 27 Jan 2016, at 21:48, Rob Mayoff via swift-evolution &lt;</span><a href="mailto:swift-evolution@swift.org" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">swift-evolution@swift.org</a><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">&gt; wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><blockquote type="cite"><br><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span><blockquote type="cite"><div><div style="word-wrap:break-word"><div><pre style="word-wrap:break-word;white-space:pre-wrap"><blockquote type="cite">-  func respondWith(data: Data)
+  func respond(data data: Data)</blockquote></pre></div><div>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.</div></div></div></blockquote><div><br></div></span>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.</div></div></blockquote><div><br></div><div>Can I tell, at a call site, whether `respond(data: someData)` is responding with someData, or responding to someData?</div><div><br></div><div>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?</div><div><br></div><div>If I see `respondWith(someData)` or `respondWith(data: someData)` or `respondWithData(someData)`, it&#39;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.</div></div></div></div></div></blockquote><br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">I’d like to reiterate that my preference for cases like these would be:</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="white-space:pre-wrap">        </span>respond(withData data: Data)</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">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.</div></div></blockquote><br></div></div></div><div>Observation: I’ve never seen anyone write Swift code this way, with a proposition “with” on the first argument label. Have you?</div><div><br></div><div><span style="white-space:pre-wrap">        </span>- Doug</div><div><br></div><br></div><br>_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br></blockquote></div><br></div>