~/talk

Using TDD to Tame the Big Ball o' Mud

Talkat MountainWest JavaScript 2014 · on Friday, 2014-03-21· [testing, frontend-architecture]
slides:none on file

Wraps legacy jQuery into a code jail component, add unit and acceptance tests, and follow a concrete five‑step refactor: extract a computed‑property model that pulls GIF URLs, convert to Ember Components, wire data through IC Ajax into Ember Data (about 20 minutes for the conversion), replace DOM mutation with state bound class names and CSS animations, delete the old insertion/delete logic, and confirm tests pass so the feature becomes tested and extensible.

AI-written summary · about

  1. 0:00Start
  2. 6:21Feature request
  3. 10:13Now what?
  4. 12:285 steps
  5. 14:05The Template
  6. 14:18The Sprinkling
  7. 14:35First test
  8. 14:58Hand wave alert
  9. 16:16AJAX tests
  10. 16:34More tests
  11. 17:22Identify Models
  12. 17:45Unit tests!
  13. 18:07Extract to model
  14. 18:26Add Handlebars
  15. 19:23Identify States
  16. 20:25Change states
  17. 20:424. Break it up
  18. 20:53What's left?
  19. 22:002nd Component
  20. 22:152nd Template
  21. 22:272nd Sprinkle
  22. 23:10CSS Animation
~/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.