<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 17, 2016 at 5:43 PM, Dave Abrahams <span dir="ltr">&lt;<a href="mailto:dabrahams@apple.com" target="_blank">dabrahams@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
on Wed Feb 17 2016, Jacob Bandes-Storch &lt;jtbandes-AT-gmail.com&gt; wrote:<br>
<br>
&gt; On Wed, Feb 17, 2016 at 3:49 PM, Dave Abrahams via swift-evolution &lt;<br>
&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; on Wed Feb 17 2016, Jacob Bandes-Storch &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; Question about how to interpret/apply the guidelines:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     &quot;[functions/methods] without side-effects should read as noun<br>
&gt;&gt; phrases…&quot;<br>
&gt;&gt; &gt;     &quot;Use the “ed/ing” rule to name the nonmutating counterpart of a<br>
&gt;&gt; &gt; mutating method…&quot;<br>
&gt;&gt; &gt;     &quot;The names of other types, properties, variables, and constants<br>
&gt;&gt; should<br>
&gt;&gt; &gt; read as nouns.&quot;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Within these guidelines, how do we explain why<br>
&gt;&gt; &gt; *-stringByExpandingTildeInPath* becomes &quot;var *expandingTildeInPath*&quot;? I&#39;m<br>
&gt;&gt; &gt; wondering if the guidelines should clarify that the &quot;ed/ing rule&quot; may<br>
&gt;&gt; apply<br>
&gt;&gt; &gt; to more than just nonmutating methods with mutating counterparts.<br>
&gt;&gt;<br>
&gt;&gt; Why should it?<br>
&gt;&gt;<br>
&gt;<br>
&gt; Otherwise, it seems a case like this isn&#39;t really covered by the guidelines.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; I think that &quot;var expandingTildeInPath&quot; is probably the best choice for<br>
&gt;&gt; &gt; this API, but I can&#39;t figure out how to reconcile it with the guidelines<br>
&gt;&gt; as<br>
&gt;&gt; &gt; written.<br>
&gt;&gt;<br>
&gt;&gt; The guidelines don&#39;t force you to spell it that way, but they allow it.<br>
&gt;&gt;<br>
&gt;&gt;     “x, expanding the tilde in its path”<br>
&gt;&gt;<br>
&gt;&gt; is a noun phrase.<br>
&gt;&gt;<br>
&gt;<br>
&gt; OK, I see. I guess what&#39;s confusing me is that I&#39;m not sure why both the<br>
&gt; &quot;ed/ing rule&quot; and &quot;read as noun&quot; guidelines need to exist.<br>
<br>
</div></div>Because many methods are like:<br>
<br>
        x.tracks(havingTitle: &quot;foo&quot;)<br>
<br>
That reads as a noun phrase, but is not an &quot;ed&quot; or &quot;ing&quot;.  The reason<br>
for &quot;ed&quot;/&quot;ing&quot; is to maintain a name association between a method that<br>
forms a verb phrase at the call site (the mutating one) and a method<br>
that forms a noun phrase at the call site.<br>
<span class=""><br>
&gt; Maybe it would be clearer if the sentence were something like &quot;The names of<br>
</span>&gt; other types, properties, variables, and constants should read as nouns *at<br>
&gt; the point of use (possibly including the receiver in the noun phrase)*.&quot;<br>
<br>
I don&#39;t believe that&#39;s needed.  The guidelines consistently and<br>
repeatedly emphasize use sites, and I can&#39;t think of an invocation that<br>
reads as a noun phrase with the receiver but doesn&#39;t without.  Can you?<br></blockquote><div><br></div><div>I&#39;ll have to think about it more. I&#39;m trying to figure out why this seems incomplete/confusing to me in some cases. &quot;expandingTilde&quot; doesn&#39;t &quot;feel like&quot; a noun to me, but probably just because I&#39;m not a linguist.</div><div><br></div><div>Also, you could infer &quot;x.expanding...&quot; alone to mean &quot;x, <b>by</b> expanding...&quot; or &quot;<b>whether </b>x <b>is</b> expanding...&quot;, so there might be some cases where it&#39;s easy to confuse Bool properties with non-Bools.</div><div><br></div><div><br></div></div></div></div>