Your SlideShare is downloading. ×
Productive JavaScript Workflow
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Productive JavaScript Workflow


Published on

Presentation about best development practices for JavaScript teams.

Presentation about best development practices for JavaScript teams.

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Productive JavaScript workflow Krzysztof Szafranek
  • 2. Happy beginnings
  • 3. Happy beginnings
  • 4. 11 years later...
  • 5. 2 years> 80 000 lines of JavaScript4 major redesigns15 front-end developers
  • 6. Do you test every change in each browser? Before each commit? × ×
  • 7. Are you sure you didn’t breakany page in the application?
  • 8. Do you know if you didn’tbreak somebody else’s code?
  • 9. You don’t know
  • 10. How to stay sane whileworking on a large JS project? Krzysztof Szafranek
  • 11. Part Ie basics
  • 12. jslint will hurt your feelings Early
  • 13. Unit testing
  • 14. “But we don’t have time to write tests!”“My manager didn’t want unit tests”
  • 15. How do you know your codeworks, when you don’t have a test for it?
  • 16. How do you know your codestill works aer each commit,when you don’t have a test for it?
  • 17. You don’t know
  • 18. Added bonus:Refactorings are a breeze
  • 19. Refactoringwithout tests
  • 20. Which framework?DOH Jasmine RhinoUnitJSUnit screw-unit JasUnitQUnit Test.Simple FireUnitCrosscheck Test.More Js-test-driverJ3Unit TestCase Sinon.jsJSNUnit TestIt SOAtestYUITest jsUnitTest VowsJSSpec JSTest NodeunitUnitTesting JSTest.NET TyrtleJSpec jsUnity
  • 21. Doesn’t matter (As long as you use it)(And is easy to automate)
  • 22. JS Test Driver
  • 23. How about testing layouts?
  • 24. Part IIPutting it all together
  • 25. Running tests in every browser takes timePeople make mistakes
  • 26. Automation to the rescue!
  • 27. Continuous Integration is a soware development practicewhere members of a team integrate their work frequently . . .leading to multiple integrations per day. Each integration isverified by an automated build (including test) to detectintegration errors as quickly as possible.Martin Fowler
  • 28. CI for front-end pushjslint deploy tests
  • 29. Early bug detectionEarly fixesNo more FTP uploadsApplication is always shippable
  • 30. Warning!
  • 31. Part IIIHumans are useful, too
  • 32. Pair programming
  • 33. Best debugging tool ever
  • 34. Code reviews
  • 35. .. soware testing alone has limited effectiveness – the averagedefect detection rate is only 25 percent for unit testing, 35percent for function testing, and 45 percent for integrationtesting. In contrast, the average effectiveness of design andcode inspections are 55 and 60 percent.Steve McConnellCode Complete
  • 36. A little help from the process Not Checked Code Design QAStarted Out Review Review Review Are there unit tests?
  • 37. Before we part1. Use jslint and unit tests to get feedback early2. Use CI to have shippable soware all the time3. Don’t be afraid of your peers (and ducks)
  • 38. Links
  • 39. Photo credits: SpoiltCat, RemixDave, activeside, kate.gardiner, Jiheffe