summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2017-11-07 08:53:37 +0000
committerHaojian Wu <hokein@google.com>2017-11-07 08:53:37 +0000
commit5529a244e1fee8dbefa239b93282a71eb4ef82bf (patch)
treedf2e1a8a1e8541133ed19bad85a78151331eeda4 /clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst
parentc02b237e467c825d23cda36e178abf769629c9d0 (diff)
downloadbcm5719-llvm-5529a244e1fee8dbefa239b93282a71eb4ef82bf.tar.gz
bcm5719-llvm-5529a244e1fee8dbefa239b93282a71eb4ef82bf.zip
Add new check in google module for Objective-C code to ensure global variables follow the naming convention of Google Objective-C Style Guide
Summary: This is a new checker for objc files in clang-tidy. The new check finds global variable declarations in Objective-C files that are not follow the pattern of variable names in Google's Objective-C Style Guide. All the global variables should follow the pattern of "g[A-Z].*" (variables) or "k[A-Z].*" (constants). The check will suggest a variable name that follows the pattern if it can be inferred from the original name. Patch by Yan Zhang! Reviewers: benhamilton, hokein, alexfh Reviewed By: hokein Subscribers: Eugene.Zelenko, mgorny Differential Revision: https://reviews.llvm.org/D39391 llvm-svn: 317552
Diffstat (limited to 'clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst')
-rw-r--r--clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst42
1 files changed, 42 insertions, 0 deletions
diff --git a/clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst b/clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst
new file mode 100644
index 00000000000..ae2b1ee3795
--- /dev/null
+++ b/clang-tools-extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst
@@ -0,0 +1,42 @@
+.. title:: clang-tidy - google-objc-global-variable-declaration
+
+google-objc-global-variable-declaration
+=======================================
+
+Finds global variable declarations in Objective-C files that are not follow the pattern
+of variable names in Google's Objective-C Style Guide.
+
+The corresponding style guide rule:
+http://google.github.io/styleguide/objcguide.html#variable-names
+
+All the global variables should follow the pattern of `g[A-Z].*` (variables) or
+`k[A-Z].*` (constants). The check will suggest a variable name that follows the pattern
+if it can be inferred from the original name.
+
+For code:
+
+.. code-block:: objc
+ static NSString* myString = @"hello";
+
+The fix will be:
+
+.. code-block:: objc
+ static NSString* gMyString = @"hello";
+
+Another example of constant:
+
+.. code-block:: objc
+ static NSString* const myConstString = @"hello";
+
+The fix will be:
+
+.. code-block:: objc
+ static NSString* const kMyConstString = @"hello";
+
+However for code that prefixed with non-alphabetical characters like:
+
+.. code-block:: objc
+ static NSString* __anotherString = @"world";
+
+The check will give a warning message but will not be able to suggest a fix. The user
+need to fix it on his own.
OpenPOWER on IntegriCloud