<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 11, 2015, at 1:40 AM, Brent Royal-Gordon via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class=""><blockquote type="cite" class="">Has any thought been given to making some of the design guidelines required by the compiler, instead of just guidelines? One guideline in particular I am thinking of is:<br class=""><br class="">"Follow case conventions: names of types, protocols and enum cases are UpperCamelCase. Everything else is lowerCamelCase.”<br class=""><br class="">As a teacher, I have to remind my students of this convention several times a day, mostly because students learn and use different languages (with different conventions) at the same time. After nil unwrapping, inconsistent casing is probably the #2 source of bugs my students write.<br class=""></blockquote><br class="">I think we’d have to carefully consider the exact policies that we support out of the box, but I’m not completely opposed to this sort of feature. It should also only apply to declarations, not uses of values (e.g. you should be able to “use” a misnamed decl imported from a C header).<br class=""><br class="">I’d also suggest that this produce a warning for violations, not an error.<br class=""></blockquote><br class="">Does Swift have a general policy that it should be possible to silence any warning the compiler emits?<br class=""></div></div></blockquote><div><br class=""></div><div>We should have such a policy, and Clang’s approach to handling warnings is a fairly good model:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">        </span><a href="http://clang.llvm.org/docs/UsersManual.html" class="">http://clang.llvm.org/docs/UsersManual.html</a></div><div><br class=""></div><div>But, nobody has signed up to design/implement a warning opt-in/opt-out/escalation mechanism for the Swift compiler.</div><div><br class=""></div></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>- Doug</div><div><br class=""></div></body></html>