-
Notifications
You must be signed in to change notification settings - Fork 29.4k
Coding Guidelines
Andrew Chalkley edited this page Nov 18, 2015
·
23 revisions
#Coding Guidelines
We use tabs, not spaces.
- Use PascalCase for
type
names - Use PascalCase for
enum
values - Use camelCase for
function
andmethod
names - Use camelCase for
property
names andlocal variables
- Use whole words in names when possible
- Do not export
types
orfunctions
unless you need to share it across multiple components - Do not introduce new
types
orvalues
to the global namespace
- Use JSDoc style comments for
functions
,interfaces
,enums
, andclasses
- Use "double quotes" for strings shown to the user that need to be externalized (localized)
- Use 'single quotes' otherwise
- All strings visible to the user need to be externalized
- Use arrow functions
=>
over anonymous function expressions - Only surround arrow function parameters when necessary. For example,
(x) => x + x
is wrong but the following are correct:
x => x + x
(x,y) => x + y
<T>(x: T, y: T) => x === y
- Always surround loop and conditional bodies with curly braces
- Open curly braces always go on the same line as whatever necessitates them
- Parenthesized constructs should have no surrounding whitespace. A single space follows commas, colons, and semicolons in those constructs. For example:
for (var i = 0, n = str.length; i < 10; i++) { }
if (x < 10) { }
function f(x: number, y: string): void { }
Project Management
- Roadmap
- Iteration Plans
- Development Process
- Issue Tracking
- Build Champion
- Release Process
- Running the Endgame
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Testing
- Dealing with Test Flakiness
- Contributor License Agreement
- Extension API Guidelines
- Accessibility Guidelines
Documentation