mirror of https://github.com/buggins/dlangui.git
coding style
This commit is contained in:
parent
65d7802840
commit
7cf0854a52
|
@ -0,0 +1,85 @@
|
|||
DlangUI Coding Style
|
||||
====================
|
||||
|
||||
Tabs and indentation
|
||||
====================
|
||||
|
||||
No Tab characters should be used in source code.
|
||||
Use 4 spaces instead of tabs.
|
||||
|
||||
|
||||
Identifiers
|
||||
===========
|
||||
|
||||
Class names: CamelCase with uppercase first letter, e.g.: LinearLayout, GridWidget
|
||||
Method and property names: camelCase with lowercase first letter, e.g.: textAlign, layoutWidth
|
||||
Private and protected class and struct fields: \_camelCase prepended with underscore, e.g. \_windowWidth
|
||||
Signal names: camelCase
|
||||
Enum member names: currently, 3 styles are used JAVA_LIKE, CamelCase and camelCase TODO: make it consistent?
|
||||
|
||||
class MyClass {
|
||||
private int _x;
|
||||
@property int x() { return _x; }
|
||||
}
|
||||
|
||||
|
||||
Spaces
|
||||
======
|
||||
|
||||
Always put space after comma or semicolon if there are more items in the same line.
|
||||
|
||||
update(x, y, isAnimating(this))
|
||||
|
||||
auto list = [1, 2, 3, 4, 5];
|
||||
|
||||
Usually there is no space after opening or before closing [] and ()
|
||||
|
||||
Spaces may be added to improve readability when there is a sequence brackets of the same type.
|
||||
|
||||
auto y = (x * x + ( ((a - b) + c) ) * 2);
|
||||
|
||||
Use spaces before and after == != && || + - * / etc.
|
||||
|
||||
|
||||
Brackets
|
||||
========
|
||||
|
||||
Curly braces for if, switch, for, foreach - preferable placed on the same lines as keyword
|
||||
|
||||
if (a == b) {
|
||||
} else {
|
||||
}
|
||||
|
||||
foreach(item; list) {
|
||||
writeln(item);
|
||||
}
|
||||
|
||||
Cases in switch should be indented:
|
||||
|
||||
switch(action.id) {
|
||||
case 1:
|
||||
processAction(1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
For classes and structs opening { can be either at end of line or in a new line).
|
||||
|
||||
class Foo {
|
||||
}
|
||||
|
||||
class Bar : Foo
|
||||
{
|
||||
}
|
||||
|
||||
For methods { can be either at end of line.
|
||||
|
||||
Short methods (e.g. property getters) may be written in one line.
|
||||
|
||||
void invalidate() {
|
||||
//
|
||||
}
|
||||
|
||||
int length() { return _list.length; }
|
||||
|
Loading…
Reference in New Issue