[swift-evolution] [Review] SE-0088: Modernize libdispatch for Swift 3 naming conventions

Patrick Smith pgwsmith at gmail.com
Thu May 12 23:09:52 CDT 2016


+1 to naming like this. dispatch() and dispatchSynchronously() if needed to please thy naming gods.


> On 13 May 2016, at 4:16 AM, Thorsten Seitz via swift-evolution <swift-evolution at swift.org> wrote:
> 
> dispatch() and dispatchSync() would be my preference as asynchronous dispatch is the point of GCD and synchronous dispatch is a special case and therefore I think the visual asymmetry is an advantage.
> 
> -Thorsten
> 
> 
>> Am 12.05.2016 um 20:10 schrieb James Dempsey via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>>:
>> 
>> 
>>> On May 11, 2016, at 8:02 PM, Ricardo Parada <rparada at mac.com <mailto:rparada at mac.com>> wrote:
>>> 
>>> 
>>> 
>>> For synchronously and asynchronously how about the adverbs before the verb:
>>> 
>>> syncDispatch()
>>> asyncDispatch()
>> 
>> 
>> I think with the abbreviation ‘sync’ it’s very easy to read ‘sync’ as a verb and dispatch as a noun.
>> 
>> i.e. I’m going to sync up with you about our plan
>> i.e. I received a dispatch from headquarters
>> 
>> I would be very fine with
>> 
>> dispatchAsync() and dispatchSync() as method names.
>> 
>> 
>> 
>>> 
>>> ?
>>> 
>>> On May 11, 2016, at 10:50 AM, James Dempsey <dempsey at mac.com <mailto:dempsey at mac.com>> wrote:
>>> 
>>>>> So maybe that will conform to the API naming guideline?  Or would the verb have to be in the base name of the func?
>>>> 
>>>> 
>>>> It seems from the guidelines that the intent is for the verb to be in the base name of the func, especially since there is another set of guidelines for naming function parameters.
>>>> 
>>>> In general the other methods in the proposal are verbs (perform(), notify(), wait(), cancel(), etc.)
>>>> 
>>>> At least for me, not including a verb makes the API read like the sentence “The dog quickly”.  This wasn’t so bad in the C API, because you could read the word ‘dispatch’ as the verb.
>>>> 
>>>> 
>>>> Looking at the current GDC API, it does seem like dispatching synchronously is the rare and special case.
>>>> 
>>>> Could there be just a single dispatch() method, with async as a flag with a default value of true?
>>>> 
>>>> It might be a little ugly because most of the other parameters of the proposed asynchronously() method would not apply in the sync case.
>>>> 
>>>> James
>>>> 
>>>> 
>>>> 
>>>>> On May 11, 2016, at 7:14 AM, Ricardo Parada <rparada at mac.com <mailto:rparada at mac.com>> wrote:
>>>>> 
>>>>> Jacob Bandes-Storch suggested:
>>>>> 
>>>>> synchronously(execute work: …)
>>>>> 
>>>>> So maybe that will conform to the API naming guideline?  Or would the verb have to be in the base name of the func?
>>>>> 
>>>>> Or perhaps:
>>>>> 
>>>>> synchronously(dispatch work: …)
>>>>> asynchronously(dispatch work: …)
>>>>> 
>>>>> 
>>>>> 
>>>>>> On May 11, 2016, at 9:32 AM, James Dempsey via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>>> 
>>>>>> The method names
>>>>>> 
>>>>>> 	synchronously()
>>>>>> 	asynchronously() 
>>>>>> 
>>>>>> are both adverbs, not noun phrases or verb phrases.
>>>>>> These methods have side effects, so each name should have a verb in it to make it a verb phrase.
>>>>>> 
>>>>>> 
>>>>>> Since these are the methods where you actually dispatch a block into a queue
>>>>>> 
>>>>>> dispatchSynchronously()
>>>>>> dispatchAsynchronously()
>>>>>> 
>>>>>> would include the verb in the name of the methods.
>>>>>> 
>>>>> 
>>>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160513/1804f4be/attachment.html>


More information about the swift-evolution mailing list