Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Code Fest - Работает? Стабильно? Эффективно?

Code Fest - Работает? Стабильно? Эффективно?

Mikhail Davydov

September 23, 2013
Tweet

More Decks by Mikhail Davydov

Other Decks in Education

Transcript

  1. 6 SourceMap • Сопоставляет код коду • UglifyJS • Chromium browser • CoffeeScript, TypeScript,

    JS Статья - http://clck.ru/8bjOI Визуализатор - http://clck.ru/8bjOQ
  2. 8 Дебаг IE – это весело! • Любимые ошибки – Unexpected call

    to method or property access – Error: 'z' is null or not an object
  3. 9 И эта проблема легко решается • Это уже воспроизвелось! • console.log

    – не поможет… • F12 – не поможет… • Visual Studio Express – FTW!
  4. 18 Отлов ошибок в фоне • Ловим –  window.onerror + jQuery.error

    • Интерпретируем –  библиотека stacktracejs • Отправляем –  Google Analytics –  Яндекс.Метрика http://stacktracejs.com/
  5. 19 Отлов ошибок в фоне • Raven.js –  Клиент для Sentry

    –  window.onerror = Raven.process; –  Open-Source https://github.com/getsentry/raven-js
  6. 22 Как предотвратить • Хороший IDE –  Ловит 95% проблем • Статический

    анализ –  Автоматический! –  JSLint –  JSHint • Тестирование http://www.jshint.com/ Хороший IDE – http://clck.ru/8bosY
  7. 24 Как оптимизировать • Вынести максимум в CDN • Найти холодный код

    • Найти мертвый код • Сделать ленивую загрузку
  8. 26 Найти холодный и мертвый код • Аналитически –  Своим умом

    –  С помощью IDE • Счетчики для "фичей" –  Google Analytics –  Яндекс.Метрика • Code Coverage
  9. 27 Счетчики для "фичей" • Это дешево –  Сервисы аналитики есть

    везде • Нужно вешать счетчики • Отчет слишком общий
  10. 28 Статистический Code Coverage • СС – не только для тестов

    • Пользователь – лучший тестер • Дешево и надежно • Можно управлять покрытием • Мониторится все
  11. 36 Способы предотвращения деградации • Единый Code Style • Коммит через Code

    Review • Проверка кода c JSHint • Автотесты • Плановые рефакторинги
  12. 42 Проблемы Холодной фичи • Не знают о ней • Не могут

    найти • Не удобная/не привыкли • Не нужна
  13. 44 На что нужно обратить внимание • Максимум автоматизации –  Отлов

    ошибок –  Хороший IDE –  Статический анализ кода с JSHint • Не пишем лишнее –  Формы с обсуждением фичей –  Взвешиваем каждую фичу –  Code Coverage для анализа кода