Style guide should mention the preference of index over iterator
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Oct 2011 23:18:57 +0000 (23:18 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Oct 2011 23:18:57 +0000 (23:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=70285

Reviewed by Darin Adler.

Per discussion on https://lists.webkit.org/pipermail/webkit-dev/2011-October/018274.html,
we prefer index over iterators.

* coding/coding-style.html:

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

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

index d4e1ae03c36030ccd4a11a10d37c584a52be46fa..bf3a304e8e75cba2193489234882bedaface586b 100644 (file)
@@ -1,3 +1,15 @@
+2011-10-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Style guide should mention the preference of index over iterator
+        https://bugs.webkit.org/show_bug.cgi?id=70285
+
+        Reviewed by Darin Adler.
+
+        Per discussion on https://lists.webkit.org/pipermail/webkit-dev/2011-October/018274.html,
+        we prefer index over iterators.
+
+        * coding/coding-style.html:
+
 2011-10-10  Ryosuke Niwa  <rniwa@webkit.org>
 
         Fix a typo pointed by Sam (Weinig).
index 83f794b8828221be9462e81e425182cbeff6d1f7..3666e3de08c565f278b4353ccb4ebed676e32758 100644 (file)
@@ -708,6 +708,22 @@ MyClass::MyClass(Document* doc) : MySuperClass()
 
 MyOtherClass::MyOtherClass() : MySuperClass() {}
 </pre>
+
+<li>Prefer index over iterator in Vector iterations for a terse, easier-to-read code.
+
+<h4 class="right">Right:</h4>
+<pre class="code">
+size_t frameViewsCount = frameViews.size();
+for (size_t i = i; i &lt; frameViewsCount; ++i)
+    frameViews[i]->updateLayoutAndStyleIfNeededRecursive();
+</pre>
+
+<h4 class="wrong">Wrong:</h4>
+<pre class="code">
+const Vector&lt;RefPtr&lt;FrameView&gt; &gt;::iterator end = frameViews.end();
+for (Vector&lt;RefPtr&lt;FrameView&gt; &gt;::iterator it = frameViews.begin(); it != end; ++it)
+    (*it)-&gt;updateLayoutAndStyleIfNeededRecursive();
+</pre>
 </ol>
 
 <h3>Pointers and References</h3>