C4Script Style Guidelines: Difference between revisions
No edit summary |
|||
Line 39: | Line 39: | ||
* indent code with one tab | * indent code with one tab | ||
* use the braces on own lines on the same indent level as the control structure / function declaration | * use the braces on own lines on the same indent level as the control structure / function declaration | ||
* <code>{...}</code> braces are not required for single line statements but can be added if it improves readability | * <code>{...}</code> braces are not required for single line statements but can be added if it improves readability | ||
* use spaces between operators like +, -, *, /, &&, || etc. | * use spaces between operators like +, -, *, /, &&, || etc. | ||
Line 45: | Line 44: | ||
Comments: | Comments: | ||
* especially for library objects or objects with an interface used by other objects, write an introductory comment including title, author(s) and a description | * especially for library objects or objects with an interface used by other objects, write an introductory comment including title, author(s) and a description | ||
* please comment your script where it is necessary for other scripters to | * please comment your script where it is necessary for other scripters to understand what you've done | ||
Naming prefixes for IDs: | Naming prefixes for IDs: |
Revision as of 17:38, 28 February 2010
Since many people are involved in the project, it is necessary to define some styling guidelines so that other developers can read your code more easily. Please adhere to this example if you edit or add new scripts:
Example
/*-- Object title Author: Author(s) Description, including implementation details that might be interesting for other scripters --*/ local some_variable; // Explanation of what the function does public func DoSomething() { var foo = 1; // implementation commentars if (foo == DIR_Left) { some_variable++; CreateObject(:Goal_Melee); } if (foo && some_variable) foo = foo + 1; return foo; }
In words
Naming conventions:
- use
lowercase_separated_by_underscores
for variables, not hungarian notation - use
CamelCase()
for functions - use
PREFIX_Identifier
for static constants
Indents, braces and spaces:
- indent code with one tab
- use the braces on own lines on the same indent level as the control structure / function declaration
{...}
braces are not required for single line statements but can be added if it improves readability- use spaces between operators like +, -, *, /, &&, || etc.
Comments:
- especially for library objects or objects with an interface used by other objects, write an introductory comment including title, author(s) and a description
- please comment your script where it is necessary for other scripters to understand what you've done
Naming prefixes for IDs:
- for libraries and GUI elements:
Library_*
,GUI_*
- for goals, rules and environment objects:
Goal_*
,Rule_*
,Environment_*
- for spells:
Magic_
- prefixes for scenario-local objects and addon-packs