Difference between revisions of "Coding Style"
Line 3: | Line 3: | ||
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'''. | 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'''. | 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 | 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'''. | 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'''. | ||
Line 60: | Line 60: | ||
| QWORD || instead of system's 64 bit unsigned 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: | |||
<syntaxhighlight lang="java"> | |||
if (a < b) | |||
{ | |||
something(); | |||
} | |||
</syntaxhighlight> | |||
6. Operators and operands should be separated by spaces, like below: | |||
<syntaxhighlight lang="java"> | |||
a = x + 20 / (y - z); | |||
</syntaxhighlight> | |||
7. Method arguments should be separated by spaces, like below: | |||
<syntaxhighlight lang="java"> | |||
z = method(p1, p2, p3); | |||
</syntaxhighlight> | |||
8. One-line comments should be placed with the same indentation level as code, like this: | |||
<syntaxhighlight lang="java"> | |||
c = xxx(); | |||
if (a) | |||
{ | |||
// comment | |||
func(); | |||
} | |||
</syntaxhighlight> | |||
9. Brackets after for and while operators may or may not be separated by spaces (I prefer not to separate them). |
Revision as of 16:53, 2 April 2012
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).