~/talk

The Structure of Node.JS Applications

Talkat JSConf.Asia 2015 · 2015-11-19..11-20· [nodejs]
slides:none on file

Argues that Node.JS and npm’s extreme modularity leads to hundreds of thousands of tiny packages and lots of abandonware, and reports launching a runtime product called NSolid while observing real projects work better starting monolithic and extracting later. Demonstrates time lost building many tiny libraries (often days per small API), cites code‑retreat lessons and a lost project incident, recommends defer decisions and flat over nested designs, and claims premature modularization usually wastes effort.

AI-written summary · about

  1. 0:00TIM OXLEY MODULAR VS MONOLITH
  2. 0:18GOOD MORNING!
  3. 0:42WHO AM I?
  4. 2:28NODE.JS: CULTURE OF EXTREME MODULARITY
  5. 2:41ME IN 2012
  6. 7:15RABBIT HOLES EVERYWHERE
  7. 9:16NOTHING FOR FREE
  8. 9:52MOST OF THE TIME
  9. 11:11WHAT PROBLEM AM I TRYING TO SOLVE? 'IS THIS THE SIMPLEST THING THAT WILL WORK?
  10. 13:08AVOID PREMATURE MODULARISATION
  11. 15:04ASSUME YOUR FIRST ATTEMPT WILL BE BAD 60
  12. 16:29CODE RETREAT
  13. 18:23DON'T GET PRECIOUS ABOUT YOUR CODE
  14. 20:31OVER-ENGINEERING: THE ADDING OF UNNECESSARY COMPLEXITY
  15. 21:10COMPLEXITY KILLS PROJECTS
  16. 24:36DEFER DECISIONS
  17. 25:47DRAW IN PENCIL BEFORE YOU DRAW IN INK
  18. 26:15ABSTRACTIONS DECREASE LOCAL COMPLEXITY WHILE INCREASING GLOBAL COMPLEXITY
  19. 27:32BUILDING THE WRONG THING FOR THE RIGHT REASONS
  20. 28:34BUILD THE SIMPLEST THING THAT WORKS?
  21. 28:44FLAT IS BETTER THAN NESTED Z
  22. 29:19At the statement level: avoid nested if/else. At the function level: avoid nested callbacks (i.e. Pyramid of doom) At the class level: avoid nested inheritance hierarchies. At the file level: avoid nested directories.
  23. 34:16BUILD THE SIMPLEST THING THAT WORKS u
  24. 34:47THANK YOU!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.