<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 21, 2015, at 3:58 PM, Michael Wells via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I love that Swift has a published API design guidelines at&nbsp;<a href="https://swift.org/documentation/api-design-guidelines.html" class="">https://swift.org/documentation/api-design-guidelines.html</a>, but one thing about it bugs me: the use of <b class="">UpperCamelCase</b>&nbsp;for cases. I know this ship has long sailed, but why didn't the team choose <b class="">lowerCamelCase</b> for these? The current style seems inconsistent and requires an “instances are lowerCamelCase, aside from Enums” clarification.</div></div></div></blockquote><br class=""></div><div>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:</div><div><br class=""></div><div>enum JSON {</div><div>&nbsp; case String(Swift.String)</div><div>&nbsp; case Array(Swift.Array&lt;JSON&gt;)</div><div>&nbsp; /* etc. */</div><div>}</div><div><br class=""></div><div>Using lowerCamelCase would avoid the collision.</div><div><br class=""></div><div>-Joe</div><br class=""></body></html>