summaryrefslogtreecommitdiffstats
path: root/docs/clang-tidy/checks/google-objc-global-variable-declaration.rst
blob: e4b41fbc723a24bd29dc98b5bdd5d3531a51d9f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.. title:: clang-tidy - google-objc-global-variable-declaration

google-objc-global-variable-declaration
=======================================

Finds global variable declarations in Objective-C files that do not follow the
pattern of variable names in Google's Objective-C Style Guide.

The corresponding style guide rule:
https://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.