Add "Singleton pattern" section to the WebKit coding style
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Jan 2015 17:38:39 +0000 (17:38 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Jan 2015 17:38:39 +0000 (17:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=141040

Reviewed by Ryosuke Niwa.

Add "Singleton pattern" section to the WebKit coding style to document
what was discussed on webkit-dev:
https://lists.webkit.org/pipermail/webkit-dev/2015-January/027199.html

* coding/coding-style.html:

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

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

index 1cee877..3ea4d02 100644 (file)
@@ -1,3 +1,16 @@
+2015-01-30  Chris Dumez  <cdumez@apple.com>
+
+        Add "Singleton pattern" section to the WebKit coding style
+        https://bugs.webkit.org/show_bug.cgi?id=141040
+
+        Reviewed by Ryosuke Niwa.
+
+        Add "Singleton pattern" section to the WebKit coding style to document
+        what was discussed on webkit-dev:
+        https://lists.webkit.org/pipermail/webkit-dev/2015-January/027199.html
+
+        * coding/coding-style.html:
+
 2015-01-27  Daniel Bates  <dabates@apple.com>
 
         Update Xcode requirement and add instructions to build, run, and debug WebKit for iOS Simulator
index 1694b2b..0d8c807 100644 (file)
@@ -1119,6 +1119,38 @@ public:
 </li>
 </ol>
 
+<h3 id="singleton">Singleton pattern</h3>
+
+<ol>
+<li id="singleton-static-member">
+Use a static member function named "singleton()" to access the instance of the singleton.
+<h4 class="right">Right:</h4>
+<pre class="code">
+class MySingleton {
+public:
+    static MySingleton& singleton();
+...
+</pre>
+
+<h4 class="wrong">Wrong:</h4>
+<pre class="code">
+class MySingleton {
+public:
+    static MySingleton& shared();
+...
+</pre>
+
+<h4 class="wrong">Wrong:</h4>
+<pre class="code">
+class MySingleton {
+...
+};
+
+MySingleton& mySingleton(); // free function.
+</pre>
+</li>
+</ol>
+
 <h3 id="comments">Comments</h3>
 <ol>
 <li id="comments-eol">Use only <i>one</i> space before end of line comments and in between sentences in comments.