<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I'm quite certain that it isn't feasible to construct a set of rules that always ensure "perfect" labeling (therefore I'm not that happy that Swift has several different rules for label handling that push users towards a choice that is quite common, but doesn't fit in a significant amount of cases — but that's another topic :)<div class=""><br class=""></div><div class="">My personal guidelines are:</div><div class="">- When a method has a "target" object, this should be the first parameter and have no label ("addSubview", "moveToPoint").</div><div class="">- The same is true when there are several targets (many examples for this a global functions like "max", "add" — and vararg arguments, which fit in fine).</div><div class="">- If the target is a combination of parameters, each parameter deserves its own label ("moveTo(x: 1, y: 2)" is a perfect example; I consider the target to be a tuple of two numbers)</div><div class=""><br class=""></div><div class="">Based on this, there are some rules of thumb:</div><div class="">- Parameters that specify how something should be done always have a label ("popViewController(animated: Bool)": "self" is the only target, "animated" is just a detail)</div><div class="">- Command names consisting of more than three words have a bad smell:</div><div class="">verb, [adjective/adverb], noun is all you need for clear instructions.</div><div class="">I wrote "command" instead of "method" on purpose, because query-like statements often need more words. Example: "isDescendantOfView(container)"</div><div class="">Methods like</div><div class=""><span class="kt" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(170, 51, 145); font-family: Menlo, monospace;">func</span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">&nbsp;</span><span class="nl" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; font-family: Menlo, monospace;">exchangeSubviewAtIndex</span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">(</span><span class="nl" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; font-family: Menlo, monospace;">_</span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">&nbsp;</span><code class="code-voice" style="border: 0px; font-size: 0.85em; margin: 0px 0px 15px; outline: 0px; padding: 0px 0px 6px; vertical-align: baseline; font-family: Menlo, monospace; word-wrap: break-word;"><em class="parameter-name" style="border: 0px; font-size: 12px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(65, 65, 65); line-height: 1.5;">index1</em></code><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">:&nbsp;</span><span class="n" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(92, 38, 153); font-family: Menlo, monospace;"><a href="https://developer.apple.com/library/ios/documentation/Swift/Reference/Swift_Int_Structure/index.html#//apple_ref/swift/struct/s:Si" data-renderer-version="2" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: inherit; text-decoration: none;" class="">Int</a></span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">,</span><br style="font-family: Menlo, monospace;" class=""><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="nl" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; font-family: Menlo, monospace;">withSubviewAtIndex</span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">&nbsp;</span><code class="code-voice" style="border: 0px; font-size: 0.85em; margin: 0px 0px 15px; outline: 0px; padding: 0px 0px 6px; vertical-align: baseline; font-family: Menlo, monospace; word-wrap: break-word;"><em class="parameter-name" style="border: 0px; font-size: 12px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(65, 65, 65); line-height: 1.5;">index2</em></code><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">:&nbsp;</span><span class="n" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: rgb(92, 38, 153); font-family: Menlo, monospace;"><a href="https://developer.apple.com/library/ios/documentation/Swift/Reference/Swift_Int_Structure/index.html#//apple_ref/swift/struct/s:Si" data-renderer-version="2" style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; color: inherit; text-decoration: none;" class="">Int</a></span><span style="font-family: Menlo, monospace; background-color: rgb(249, 249, 249);" class="">)</span></div><div class="">still fit into that scheme, as they look like a shortcut combining a query with a command.</div><div class=""><br class=""></div><div class="">Tino</div></body></html>