How to write maintainable JavaScript applications.