[swift-evolution] [Review] SE-0023 API Design Guidelines
Dave Abrahams
dabrahams at apple.com
Fri Jan 22 17:20:31 CST 2016
on Fri Jan 22 2016, Joe Groff <swift-evolution at swift.org> wrote:
>> On Jan 22, 2016, at 1:57 PM, Jeff Kelley via swift-evolution
>> <swift-evolution at swift.org> wrote:
>>
>>> On Jan 22, 2016, at 4:53 PM, Joe Groff via swift-evolution
>>> <swift-evolution at swift.org
>
>>> <mailto:swift-evolution at swift.org>>
>>> wrote:
>>>
>>> How do you handle naming non-mutating versions of these operations?
>>> Conjugating other irregular verbs also imposes a barrier on
>>> developers whose first language is not English.
>>
>> Swift could use “after” as a prefix, or something similar.
>>
>> array.sort()
>> array.afterSort()
>>
>> I was tempted to say “afterSorting()” but that has the same problems mentioned above.
>
> That's reminiscent of the way the classic Cocoa naming guidelines
> cleverly avoided these issues by using the 'did-' prefix consistently
> instead of ever conjugating verbs into preterite tense. 'after' is a
> bit awkward, though, as are any other equivalent prefixes i can think
> of that have the same effect on the past participle (havingSplit?
> bySplitting?)
Ideally solution to this problem should also handle sets properly. That
is,
x.union(y)
is non-mutating and returns a new set. Then you need a way to name the
version that does an in-place union.
--
-Dave
More information about the swift-evolution
mailing list