<div dir="ltr">Currently, Swift follows all-lower convention for #-directives. We haven&#39;t discussed it much, but just derived it from a few existing directives we have.<div>Now people invent new directives: #setline, #fileliteral. Now it becomes obvious that lowercase just breaks down for anything long enough. CamelCase is much more clear (read distinguishable) than thatlowercasemess. Compare:</div><div><br></div><div>#colorliteral   vs   #colorLiteral</div><div>#imageliteral   vs   #imageLiteral</div><div>#setline   vs   #setLine</div><div><br></div><div>Directives read like functions:</div><div><br></div><div>#fileLiteral(resourceName: &quot;name&quot;)<br></div><div>#setLine(1)</div><div>#available(iOS 8.0, *)</div><div><br></div><div>One may say that their arguments aren&#39;t really Swift values and objects, but that&#39;s why they are directives, after all.</div><div><br></div><div>#if stands out a bit, but the change will not affect it.</div></div>