diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ec10cff1..9195c00e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,6 +2,30 @@ ## Style & Formatting * In general, [Prettier](https://prettier.io) is used. See the [Prettier installation and basic instructions](https://prettier.io/docs/en/install.html) for more information. -* Though you'll see a lot of older style callback code, please utilize modern JavaScript. ES6 classes, arrow functions, and builtins. +* Though you'll see a lot of older style callback code, please utilize modern JavaScript. ES6 classes, [Arrow Functions](#arrow-functions), and builtins. * There is almost never a reason to use `var`. Prefer `const` where you can and and `let` otherwise. * Save with UNIX line feeds, UTF-8 without BOM, and tabs set to 4 spaces. +* Do not include the `.js` suffix when [Importing (require)](#import-require) + +### Arrow Functions +Prefer anonymous arrow functions with access to `this` for callbacks. +```js +// Good! +someApi(foo, bar, (err, result) => { + // ... +}); + +// Bad :( +someApi(foo, bar, function callback(err, result) { + // ... +}); +``` + +### Import (require) +```javascript +// Good! +const foo = require('foo'); + +// Bad :( +const foo = require('foo.js'); +``` \ No newline at end of file