[swift-evolution] [Review] SE-0023 API Design Guidelines

Dave Abrahams dabrahams at apple.com
Tue Jan 26 12:51:08 CST 2016


on Sat Jan 23 2016, Marc Knaup <swift-evolution at swift.org> wrote:

> What is the rationale behind naming enumeration cases in upper camel
> case?

Apparently, among those to whom that convention feels right, it's
because enums in Swift are often used to express what in ObjC would be
global constants, and on Apple platforms those global constants have
"always" started with an uppercase letter.  So if we want to change the
way it's done, that's the point-of-view we need to grapple with.

> *Follow case conventions:* names of types, protocols and enum cases are
>> UpperCamelCase. Everything else is lowerCamelCase.
>
> let a = NSComparisonResult.OrderedSame  // refers to a value, but is
> upper-case
> let b = NSDate.distantFuture            // refers to a property/value, but
> is lower-case
>
>    - everything related to types (type names, protocol names, generic type
>    parameter names) should be upper camel case
>    - everything else (function names, property names, variable names, etc.)
>    should be lower camel case
>
> This is already the current and the proposed recommendation with
> enumeration cases being the only exception.
> Enumeration cases are not types.
>
> On Fri, Jan 22, 2016 at 10:02 PM, Douglas Gregor via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>> Hello Swift community,
>>
>> The review of SE-0023"API Design Guidelines" begins now and runs through
>> January 31, 2016. The proposal is available here:
>>
>>
>> https://github.com/apple/swift-evolution/blob/master/proposals/0023-api-guidelines.md
>>
>> Reviews are an important part of the Swift evolution process. All reviews
>> should be sent to the swift-evolution mailing list at
>>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>> or, if you would like to keep your feedback private, directly to the
>> review manager. When replying, please try to keep the proposal link at the
>> top of the message:
>>
>> Proposal link:
>>
>>
>> https://github.com/apple/swift-evolution/blob/master/proposals/0023-api-guidelines.md
>>
>> Reply text
>>
>> Other replies
>>
>> <https://github.com/apple/swift-evolution#what-goes-into-a-review-1>What
>> goes into a review?
>>
>> The goal of the review process is to improve the proposal under review
>> through constructive criticism and, eventually, determine the direction of
>> Swift. When writing your review, here are some questions you might want to
>> answer in your review:
>>
>>    - What is your evaluation of the proposal?
>>    - Is the problem being addressed significant enough to warrant a
>>    change to Swift?
>>    - Does this proposal fit well with the feel and direction of Swift?
>>    - If you have used other languages or libraries with a similar
>>    feature, how do you feel that this proposal compares to those?
>>    - How much effort did you put into your review? A glance, a quick
>>    reading, or an in-depth study?
>>
>> More information about the Swift evolution process is available at
>>
>> https://github.com/apple/swift-evolution/blob/master/process.md
>>
>> Thank you,
>>
>> -Doug Gregor
>>
>> Review Manager
>>
>> _______________________________________________
>> swift-evolution mailing list
>> 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

-- 
-Dave



More information about the swift-evolution mailing list