Coding style for C and C++
1. Function names: each word in function name should start with capital letter. No underscores. For example: CreateNewUser. Underscores allowed in parameter handlers, which can start with H_ prefix, like this: H_FreeDiskSpace.
2. Class names: each word in class name should start with capital letter. No underscores. For example: NetworkService. Consecutive capital letters should be avoided, i.e. use SnmpObject instead of SNMPObject.
3. Class methods: each word in method name should start with capital letter, except first word. No underscores. For example: NetworkService::createService().
4. Class members: name must start with m_ prefix, each word in member name should start with capital letter, except first word. No underscores. For example: NetworkService::m_serviceId.
5. Indentation offset: 3
6. Opening { should be placed on next line without indentation, like below:
if (a < b)
{
something();
}
7. Operators and operands should be separated by spaces, like below:
a = x + 20 / (y - z);
8. Function arguments should be separated by spaces, like below:
z = function(p1, p2, p3);
9. One-line comments should be placed with the same indentation level as code, like this:
c = xxx();
if (a)
{
// comment
func();
}
10. Brackets after for and while operators may or may not be separated by spaces (I prefer not to separate them, but it's not a big problem IMHO).
11. For type cast type name must be enclosed in brackets, without spaces. For example: (DWORD)x.
12. It is recommended to use the dollowing typedefs as a replacement for some system data types:
WORD | unsigned short (16 bit unsigned integer) |
LONG | instead of system's 32 signed integer |
DWORD | unsigned long (32 bit unsigned integer) |
INT64 | instead of system's 64 bit signed integer |
QWORD | instead of system's 64 bit unsigned integer |
Coding style for Java
1. Class names: each word in class name should start with capital letter. No underscores. For example: NetworkService. Consecutive capital letters should be avoided, i.e. use SnmpObject instead of SNMPObject.
2. Interfaces should not be prefixed with I character.
3. Class members (both methods and attributes): each word in member name should start with capital letter, except first word. No underscores. For example: NetworkService.serviceId. Consecutive capital letters should be avoided, i.e. use getSnmpPort instead of getSNMPPort.
4. Indentation offset: 3
5. Opening { should be placed on next line without indentation, like below:
if (a < b)
{
something();
}
6. Operators and operands should be separated by spaces, like below:
a = x + 20 / (y - z);
7. Method arguments should be separated by spaces, like below:
z = method(p1, p2, p3);
8. One-line comments should be placed with the same indentation level as code, like this:
c = xxx();
if (a)
{
// comment
func();
}
9. Brackets after for and while operators may or may not be separated by spaces (I prefer not to separate them).