10 things to remember
I came to this article in medium: https://blog.usejournal.com/10-things-you-will-eventually-learn-about-javascript-projects-efd7646b958a that won't blow your mind, but has a 10 point list that can be applied to any development in any language.
I'll summarize here (comments are mine):
- Divide and conquer: the most fundamental principle, not only in programming, but almost any problem solving
- Make things embarrassingly obvious: I've tried to look clever lot of times. And I can tell you, it's not clever
- Resolve magic numbers and strings: use constants
- Fight nesting: no if inside if inside if (and callback hell, of course)
- Configure hard: use a external config file
- Frameworks are there to help: don't reinvent (unless for learning)
- Unless it is a prototype — write tests: no comment
- Use version control: why this is not point #0?
- Manage state responsibly: probably the most javascripted item of the list. We're obsessed with it. In part because it's not solved in the language (lot of ways to manage state). In part because it's not solved in any language (clojure?)
- Question trends: also javascripty. New is not better.