adding a datapoint on effects of vim-editor on my javascript coding-style. this is to expand on discussion of "JavaScript and Syntax Research Methods" in tc39-notes [1].
vim has the following file-editing properties: 1. poor UX in opening new files 2. efficient content-search/jump/traversal of large files 3. can display the same file in multiple editing-windows because of above properties, i default to writing javascript applications as a single, large file (which may get broken up if it becomes "too" large, e.g. >10k sloc). developing javascript-apps with a single js-file leads me to: 1. prefer reusing external-code by copy/pasting it into single-file rather than load it as commonjs/es-module 2. be selective about what external-code i want to copy/paste -- generally only self-contained or "rolled-up" ones w/ minimal external-dependencies 3. general preference to write self-contained code that easy-to-reuse by copy/pasting into a new project [2]. an argument against writing javascript-applications as a single, self-contained file, is that it leads to merge/commit conflicts when multiple devs are working on same file. its valid ... except most javascript-products are developed by just 1-3 js-devs. for the frontend, its usually just 1 developer. the hype of making javascript "scalable" so you can have 20x people working on a product is just that -- hype. there are very few real-world products where its cost-effective to have more than 5 js-devs working on it. [1] JavaScript and Syntax Research Methods https://github.com/rwaldron/tc39-notes/blob/7a4af23d/meetings/2019-06/june-6.md#javascript-and-syntax-research-methods [2] documentation of various [minimal-dependency] self-contained functions that can be copy/pasted https://kaizhu256.github.io/node-utility2/build..beta..travis-ci.org/apidoc.html screenshot of me vim-editing multiple locations of one, large javascript-file (each sub-window is a different location of the same file). [image: vim-editor-min.png]
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

