Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
JavaScript. Качество
кода.
Андрей Кучеренко, EPAM Systems
Признаки качественного кода
★ Читаемость
JavaScript Patterns, Stoyan Stefanov
“...the few man-hours spent writing the code...
Признаки качественного кода
★ Читаемость
○ Стиль написания кода
○ Документация
○ Стандарты кодирования
Признаки качественного кода
★ Читаемость
★ Производительность
Признаки качественного кода
★ Читаемость
★ Производительность
○ DOM
○ Память (переменные, замыкания)
○ ...
Признаки качественного кода
★ Читаемость
★ Производительность
★ Соответствие требованиям
Признаки качественного кода
★ Читаемость
★ Производительность
★ Соответствие требованиям
○ Процесс разработки
○ Непрерывна...
Процесс разработки
★ TDD
TODO list (navigation map)
Test first
Assert first
Fail first
Процесс разработки
★ TDD
★ Парное программирование
Процесс разработки
★ TDD
★ Парное программирование
★ Baby steps
Непрерывная интеграция
Инструменты
★ TDD
○ mocha + chai + sinonjs
○ jasmine
○ mutant, mutandis
○ protractor
○ cucumber-js
mocha + chai + sinonjs
mocha + chai + sinonjs
jasmine
Покрытие кода тестами
Мутационное тестирование
Реальный
кодhttps://github.com/magnusstubman/mutant
Мутанты
Мутационное тестирование
Мутационное тестирование
➢https://github.com/magnusstubman/mutant
➢https://github.com/saltlab/mutandis/
➢http://pitest.org...
protractor
cucumber-js
cucumber-js
Инструменты
★ TDD
★ Стили, стандарты, дубликаты, анализ
кода
○ jshint, jslint
○ plato
○ codepainter, esprima, jscpd
Plato
Plato
Plato
codepainter
Esprima
Esprima + Escodegen
Инструменты
★ TDD
★ Документация
○ jsdoc
○ docco
○ doxx
code docs smells
Инструменты
★ TDD
★ Документация
★ Производительность
○ chrome-developer-tools
○ firebug
○ spy-js
Чеклист
❏ Соответствие требованиям
❏ TDD
❏ TODO list (navigation map)
❏ Test first
❏ Assert first
❏ Fail first
❏ E2e тесты...
twitter:@a_kucherenko, github: kucherenko
Вопросы?
Java script. code quality. (2)
Java script. code quality. (2)
Java script. code quality. (2)
Upcoming SlideShare
Loading in …5
×

Java script. code quality. (2)

1,130 views

Published on

  • Be the first to comment

Java script. code quality. (2)

  1. 1. JavaScript. Качество кода. Андрей Кучеренко, EPAM Systems
  2. 2. Признаки качественного кода ★ Читаемость JavaScript Patterns, Stoyan Stefanov “...the few man-hours spent writing the code initially end up in man-weeks spent reading it...”
  3. 3. Признаки качественного кода ★ Читаемость ○ Стиль написания кода ○ Документация ○ Стандарты кодирования
  4. 4. Признаки качественного кода ★ Читаемость ★ Производительность
  5. 5. Признаки качественного кода ★ Читаемость ★ Производительность ○ DOM ○ Память (переменные, замыкания) ○ ...
  6. 6. Признаки качественного кода ★ Читаемость ★ Производительность ★ Соответствие требованиям
  7. 7. Признаки качественного кода ★ Читаемость ★ Производительность ★ Соответствие требованиям ○ Процесс разработки ○ Непрерывная интеграция
  8. 8. Процесс разработки ★ TDD TODO list (navigation map) Test first Assert first Fail first
  9. 9. Процесс разработки ★ TDD ★ Парное программирование
  10. 10. Процесс разработки ★ TDD ★ Парное программирование ★ Baby steps
  11. 11. Непрерывная интеграция
  12. 12. Инструменты ★ TDD ○ mocha + chai + sinonjs ○ jasmine ○ mutant, mutandis ○ protractor ○ cucumber-js
  13. 13. mocha + chai + sinonjs
  14. 14. mocha + chai + sinonjs
  15. 15. jasmine
  16. 16. Покрытие кода тестами
  17. 17. Мутационное тестирование Реальный кодhttps://github.com/magnusstubman/mutant Мутанты
  18. 18. Мутационное тестирование
  19. 19. Мутационное тестирование ➢https://github.com/magnusstubman/mutant ➢https://github.com/saltlab/mutandis/ ➢http://pitest.org/ (Java - not JavaScript)
  20. 20. protractor
  21. 21. cucumber-js
  22. 22. cucumber-js
  23. 23. Инструменты ★ TDD ★ Стили, стандарты, дубликаты, анализ кода ○ jshint, jslint ○ plato ○ codepainter, esprima, jscpd
  24. 24. Plato
  25. 25. Plato
  26. 26. Plato
  27. 27. codepainter
  28. 28. Esprima
  29. 29. Esprima + Escodegen
  30. 30. Инструменты ★ TDD ★ Документация ○ jsdoc ○ docco ○ doxx
  31. 31. code docs smells
  32. 32. Инструменты ★ TDD ★ Документация ★ Производительность ○ chrome-developer-tools ○ firebug ○ spy-js
  33. 33. Чеклист ❏ Соответствие требованиям ❏ TDD ❏ TODO list (navigation map) ❏ Test first ❏ Assert first ❏ Fail first ❏ E2e тесты ❏ Поддержка кода ❏ Парное программирование, ревью кода ❏ Ошибки и проблемы в коде (plato, jshint, jslint) ❏ Стиль написания и стандарты кода (codepainter, esprima) ❏ Производительность
  34. 34. twitter:@a_kucherenko, github: kucherenko Вопросы?

×