Here are a few suggestions to make it easier for you to contribute!
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.
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.
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:
if (a == b) {
doStuff(a);
}
if (a == b)
{
doStuff(a);
}
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:
if (a == b) {
doStuff(a);
}
Not good:
if( a==b ){
doStuff ( a);
}
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 set character limit for a comment within a line,
though as a rule of thumb you should wrap your comment if it exceeds the width of your editor window.
Inline comments are OK if they describe that line only and are not exceedingly wide.