82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ## Thank you for making WLED better!
 | |
| 
 | |
| Here are a few suggestions to make it easier for you to contribute!
 | |
| 
 | |
| ### Target branch for pull requests
 | |
| 
 | |
| Please make all PRs against the `0_15` branch.
 | |
| 
 | |
| ### Code style
 | |
| 
 | |
| When in doubt, it is easiest to replicate the code style you find in the files you want to edit :)
 | |
| Below are the guidelines we use in the WLED repository.
 | |
| 
 | |
| #### Indentation
 | |
| 
 | |
| We use tabs for Indentation in Web files (.html/.css/.js) and spaces (2 per indentation level) for all other files.  
 | |
| You are all set if you have enabled `Editor: Detect Indentation` in VS Code.
 | |
| 
 | |
| #### Blocks
 | |
| 
 | |
| Whether the opening bracket of e.g. an `if` block is in the same line as the condition or in a separate line is up to your discretion. If there is only one statement, leaving out block braches is acceptable.
 | |
| 
 | |
| Good:  
 | |
| ```cpp
 | |
| if (a == b) {
 | |
|   doStuff(a);
 | |
| }
 | |
| ```
 | |
| 
 | |
| ```cpp
 | |
| if (a == b)
 | |
| {
 | |
|   doStuff(a);
 | |
| }
 | |
| ```
 | |
| 
 | |
| ```cpp
 | |
| if (a == b) doStuff(a);
 | |
| ```
 | |
| 
 | |
| There should always be a space between a keyword and its condition and between the condition and brace.  
 | |
| Within the condition, no space should be between the paranthesis and variables.  
 | |
| Spaces between variables and operators are up to the authors discretion.
 | |
| There should be no space between function names and their argument parenthesis.
 | |
| 
 | |
| Good:  
 | |
| ```cpp
 | |
| if (a == b) {
 | |
|   doStuff(a);
 | |
| }
 | |
| ```
 | |
| 
 | |
| Not good:  
 | |
| ```cpp
 | |
| if( a==b ){
 | |
|   doStuff ( a);
 | |
| }
 | |
| ```
 | |
| 
 | |
| #### Comments
 | |
| 
 | |
| Comments should have a space between the delimiting characters (e.g. `//`) and the comment text.
 | |
| Note: This is a recent change, the majority of the codebase still has comments without spaces.
 | |
| 
 | |
| Good:  
 | |
| ```
 | |
| // This is a comment.
 | |
| 
 | |
| /* This is a CSS inline comment */
 | |
| 
 | |
| /* 
 | |
|  * This is a comment
 | |
|  * wrapping over multiple lines,
 | |
|  * used in WLED for file headers and function explanations
 | |
|  */
 | |
| 
 | |
| <!-- This is an HTML comment -->
 | |
| ```
 | |
| 
 | |
| There is no hard character limit for a comment within a line,
 | |
| though as a rule of thumb consider wrapping after 120 characters.
 | |
| Inline comments are OK if they describe that line only and are not exceedingly wide. | 
