Commit 9eeb35e4 authored by scott snyder's avatar scott snyder
Browse files

non-ascii characters not allowed in identifiers.

parent e146482d
......@@ -134,13 +134,27 @@ This section contains guidelines on how to name objects in a program.
Generally speaking, you should try to match the conventions used by whatever
package you're working on. But please try to always follow these rules:
- *Use only ASCII characters in identifier names* [<<ascii-identifiers>>]
This is what C++ calls the basic character set. Specifically, identifiers
should use only the characters a-z, A-Z, 0-9, and underscore.
Handling of non-ascii characters is implementation-defined.
While many compilers can indeed handle extended (unicode) characters,
not all tools may process them correctly. Some characters may not
display correctly, depending on a user's local installation.
Further, it is often not obvious how to type an arbitrary unicode
character that one sees displayed, especially since there exist
distinct characters that look very similar or identical.
- *Use prefix* =m_= *for private/protected data members of classes.* [<<data-member-naming>>]
Use a lowercase letter after the prefix =m_=.
An exception for this is xAOD data classes, where the member names are
exposed via ROOT for analysis.
- *Do not start any other names with* =m_=. [<<m-prefix-reserved>>]
......@@ -3006,6 +3020,9 @@ The comment includes the fact that it is the perpendicular distance.
* Changes
** Version 0.8
- Clarify that non-ascii characters should not be used in identifier names.
** Version 0.7
- Minor cleanups and updates to take into acount that we now require C++17.
- Use the =fallthough= attribute, not a comment.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment