[swift-evolution] Swift case conventions for Enums

Joe Groff jgroff at apple.com
Tue Dec 22 10:41:38 CST 2015


> On Dec 21, 2015, at 3:58 PM, Michael Wells via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I love that Swift has a published API design guidelines at https://swift.org/documentation/api-design-guidelines.html <https://swift.org/documentation/api-design-guidelines.html>, but one thing about it bugs me: the use of UpperCamelCase for cases. I know this ship has long sailed, but why didn't the team choose lowerCamelCase for these? The current style seems inconsistent and requires an “instances are lowerCamelCase, aside from Enums” clarification.

Another reason to change the convention is that it's common to want to name cases the same as their payload type. When both use the UpperCamelCase convention, you have to disambiguate the name collision:

enum JSON {
  case String(Swift.String)
  case Array(Swift.Array<JSON>)
  /* etc. */
}

Using lowerCamelCase would avoid the collision.

-Joe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151222/382c1f97/attachment.html>


More information about the swift-evolution mailing list