llvm/clang-tools-extra/docs/clang-tidy/checks/google/objc-global-variable-declaration.rst

.. 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 needs to fix it on their own.