2011-06-29 Leandro Pereira <leandro@profusion.mobi>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Jun 2011 17:57:00 +0000 (17:57 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Jun 2011 17:57:00 +0000 (17:57 +0000)
        Reviewed by Darin Adler.

        Add note about cases where enums are preferred over bools on function parameters.
        https://bugs.webkit.org/show_bug.cgi?id=63564

        This matches the outcome of this webkit-dev thread:
        https://lists.webkit.org/pipermail/webkit-dev/2010-December/015192.html

        * coding/coding-style.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@90027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/webkit.org/ChangeLog
Websites/webkit.org/coding/coding-style.html

index 73c8cfb..b837bb4 100644 (file)
@@ -1,3 +1,15 @@
+2011-06-29  Leandro Pereira  <leandro@profusion.mobi>
+
+        Reviewed by Darin Adler.
+
+        Add note about cases where enums are preferred over bools on function parameters.
+        https://bugs.webkit.org/show_bug.cgi?id=63564
+
+        This matches the outcome of this webkit-dev thread:
+        https://lists.webkit.org/pipermail/webkit-dev/2010-December/015192.html
+
+        * coding/coding-style.html:
+
 2011-05-31  Chris Evans  <cevans@chromium.org>
 
         Reviewed by Drew Yao.
index 307cfdd..4197c78 100644 (file)
@@ -603,6 +603,24 @@ void doSomething(ScriptExecutionContext* context);
 </pre>
 </li>
 
+<li>Prefer enums to bools on function parameters if callers are likely to be
+passing constants, since named constants are easier to read at the call
+site.  An exception to this rule is a setter function, where the name of the
+function already makes clear what the boolean is.
+<h4 class="right">Right:</h4>
+<pre class="code">
+doSomething(something, AllowFooBar);
+paintTextWithShadows(context, ..., textStrokeWidth > 0, isHorizontal());
+setResizable(false);
+</pre>
+
+<h4 class="wrong">Wrong:</h4>
+<pre class="code">
+doSomething(something, false);
+setResizable(NotResizable);
+</pre>
+</li>
+
 <li>Objective-C method names should follow the Cocoa naming guidelines &mdash;
 they should read like a phrase and each piece of the selector should 
 start with a lowercase letter and use intercaps.</li>