mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-14 11:15:24 -05:00
32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# Code Style Guide
|
|
|
|
Code style is enforced using Visual Studio Code extensions.
|
|
|
|
## .hx
|
|
Formatting is handled by the `nadako.vshaxe` extension, which includes Haxe Formatter.
|
|
Haxe Formatter automatically resolves issues such as indentation style and line breaks, and can be configured in `hxformat.json`.
|
|
|
|
Code Quality is handled by the `vshaxe.haxe-checkstyle` extension, which includes Haxe Checkstyle.
|
|
|
|
### Haxe Checkstyle Notes
|
|
* Checks can be escalated to display as different severities in the Problems window.
|
|
* Checks can be disabled by setting the severity to `IGNORE`.
|
|
* `IndentationCharacter` checks what is used to indent, `Indentation` checks how deep the indentation is.
|
|
* `CommentedOutCode` check is in place because old code should be retrieved via Git history.
|
|
* TODO items: Enable these one-by-one and fix them to improve the overall code quality.
|
|
- Reconfigure `MethodLength`
|
|
- Reconfigure `CyclomaticComplexity`
|
|
- Re-enable `MagicNumber`
|
|
- Re-configure `NestedControlFlow`
|
|
- Re-configure `NestedIfDepth`
|
|
- Figure out something for `Trace`
|
|
- Fix bug and enable `DocCommentStyle`
|
|
|
|
## .json
|
|
Formatting is handled by the `esbenp.prettier-vscode` extension, which includes Prettier.
|
|
Prettier automatically handles formatting of JSON files, and can be configured in `.prettierrc.js`.
|
|
|
|
### Prettier Notes
|
|
* Prettier will automatically attempt to place expressions on a single line if they fit, but will keep them multi-line if they are manually made multi-line.
|
|
* This means that long singleline objects are automatically expanded, and short multiline objects aren't automatically collapsed.
|
|
* You may want to use regex replacement to manually remove the first newline in short multi-line objects to convince Prettier to collapse them.
|