Coding style
TODO This section is a stub and needs to be improved.
The ESLint rules will catch most of the style issues, so you might just want to
run furipota run lint
on your code. That said, there are a few idioms that aren’t
captured by ESLint rules:
-
Prefer
const
for declaring names wherever possible. When a name or the value it refers to is mutated in the scope, uselet
instead. In this sense, we useconst
to indicate an immutable binding and value, andlet
for everything else. -
Prefer arrow functions whenever possible. Regular JavaScript functions have many unnecessary properties for functional programming in general, such as
this
,super
and.prototype
. So, if you’re not writing a method, where you’ll wantthis
, it should be an arrow function. -
Use Lisp/Haskell-alignment for conditionals when using ternaries. For example:
return argCount < arity ? curried(allArgs) : argCount === arity ? fn(...allArgs) : /* otherwise */ unrollInvoke(fn, arity, allArgs);
The comment for the last
else
case is not optional, but can be shortened to/* else */
for shorter conditions.