- Keep things in one function unless composable or reusable
- Avoid unnecessary destructuring. Instead of
const { a, b } = obj, useobj.aandobj.bto preserve context - Avoid
try/catchwhere possible - Avoid using the
anytype - Prefer single word variable names where possible
We don't like let statements, especially combined with if/else statements.
Prefer const.
Good:
const foo = condition ? 1 : 2;Bad:
let foo;
if (condition) foo = 1;
else foo = 2;Prefer early returns or using an iife to avoid else statements.
Good:
function foo() {
if (condition) return 1;
return 2;
}Bad:
function foo() {
if (condition) return 1;
else return 2;
}Try your best to find a single word name for your variables, functions, etc. Only use multiple words if you cannot.
Good:
const foo = 1;
const bar = 2;
const baz = 3;Bad:
const fooBar = 1;
const barBaz = 2;
const bazFoo = 3;