Codify the naming convention for fooIfExists
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2019 19:21:15 +0000 (19:21 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Mar 2019 19:21:15 +0000 (19:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194930

Reviewed by Darin Adler.

Updating the coding style guideline after the discussion following
https://lists.webkit.org/pipermail/webkit-dev/2013-June/025056.html

* code-style.md:

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

Websites/webkit.org/ChangeLog
Websites/webkit.org/code-style.md

index c6955bc..cc0d583 100644 (file)
@@ -1,3 +1,15 @@
+2019-02-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Codify the naming convention for fooIfExists
+        https://bugs.webkit.org/show_bug.cgi?id=194930
+
+        Reviewed by Darin Adler.
+
+        Updating the coding style guideline after the discussion following
+        https://lists.webkit.org/pipermail/webkit-dev/2013-June/025056.html
+
+        * code-style.md:
+
 2019-02-20  Jon Davis  <jond@apple.com>
 
         Added macOS Mojave builds to the WebKit Build Archives.
index 0b71e8d..e314fed 100644 (file)
@@ -676,6 +676,34 @@ bool convertToASCII(short*, size_t);
 bool toASCII(short*, size_t);
 ```
 
+[](#names-if-exists) The getter function for a member variable should not have any suffix or prefix indicating the function can optionally create or initialize the member variable. Suffix the getter function which does not automatically create the object with `IfExists` if there is a variant which does.
+
+###### Right:
+
+```cpp
+StyleResolver* styleResolverIfExists();
+StyleResolver& styleResolver();
+```
+
+###### Wrong:
+
+```cpp
+StyleResolver* styleResolver();
+StyleResolver& ensureStyleResolver();
+```
+
+###### Right:
+
+```cpp
+Frame* frame();
+```
+
+###### Wrong:
+
+```cpp
+Frame* frameIfExists();
+```
+
 [](#names-variable-name-in-function-decl) Leave meaningless variable names out of function declarations. A good rule of thumb is if the parameter type name contains the parameter name (without trailing numbers or pluralization), then the parameter name isn't needed. Usually, there should be a parameter name for bools, strings, and numerical types.
 
 ###### Right: