9. 9Магия продуктивной разработки, Тимур Рахматиллаев
Извечные вопросы
• Кто виноват в том, что мы делаем это
медленно или неэффективно?
• Что делать, чтобы делать все это
эффективнее и быстрее?
10. 10Магия продуктивной разработки, Тимур Рахматиллаев
Автоматизация рутинных
операций
• ReSharper
• CodeRush
• T4
• Встроенные средства VisualStudio 2012
11. 11Магия продуктивной разработки, Тимур Рахматиллаев
Автоматизация рутинных
операций
• ReSharper
• CodeRush
• T4
• Встроенные средства VisualStudio 2012
12. 12Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а
• Анализ кода
• Навигация по коду и поиск
• Помощь в кодинге (ускорение)
• Рефакторинги
• Генерация кода
• Шаблонизация кода
• Форматирование и стандартизация
• Модульное тестирование
13. 13Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а
• Анализ кода
• Навигация по коду и поиск
• Помощь в кодинге (ускорение)
• Рефакторинги
• Генерация кода
• Шаблонизация кода
• Форматирование и стандартизация
• Модульное тестирование
14. 14Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а #2
• Поддержка работы с ASP.NET и
ASP.NET MVC (ускорение, генерация,
анализ)
• Поддержка XAML (ускорение,
генерация, анализ)
• Помощь в интернационализации
приложения
• Подсветка и автодополнения для
скриптов сборки NAnt и MSBuild
• Расширяемость с помощью плагинов
0_о
17. 17Магия продуктивной разработки, Тимур Рахматиллаев
Инспекции в ReSharper’е
• Error
• Warning
• Suggestion
• Hint
Могут быть solution wide
18. 18Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
19. 19Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
20. 20Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
• Возможность параметризовывать
шаблоны
• Возможность накладывать на шаблоны
ограничения с использованием знаний
ReSharper’а об AST
21. 21Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
Шаблоны можно использовать для
создания собственных инспекций и quick
fix’ов!
25. 25Магия продуктивной разработки, Тимур Рахматиллаев
Зачем мне ReSharper?
• Ваше время дорого
• Не только вашему начальнику или
заказчику
• Ваше удобство, а следовательно и
нервы, тоже дороги
• Вам
• Ваш код станет профессиональнее, а
стиль чище
• Это круто
26. 26Магия продуктивной разработки, Тимур Рахматиллаев
Переход на ReSharper
• Это смена образа мышления
• Поначалу ваша скорость работы,
скорее всего, упадет
28. 28Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Сделал без ReSharper’а
• Одумался
• Ctrl+Z, Ctrl+Z, Ctrl+Z
• Переделал с использованием функций
ReSharper’а
• Каждый раз!
• …
• PROFIT
30. 30Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Распечатать и повесить плакат со
списком горячих клавиш рядом с
монитором
• Отключить мышку от копьютера (sic!)
• Если вы думаете, что что-то можно
сделать с помощью ReSharper’а –
погуглите
• «вот было бы хорошо»-принцип
32. 32Магия продуктивной разработки, Тимур Рахматиллаев
ReSharper для команды
• Общий стиль кодирования – обмен
конфигурацией правил
форматирования через инструменты
импорта/экспорта в XML
• Общие принципы реализации типовых
моментов – обмен шаблонами SSR
через импорт/экспорт в XML
33. 33Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Храните шаблоны SSR в репозитории
проекта
• Храните настройки cleanup’а и
форматирования в файле настроек
solution’а в репозитории проекта
• Храните архишаблоны в репозитории
компании
34. 34Магия продуктивной разработки, Тимур Рахматиллаев
ReSharper 8.0
• Графическое представлении иерархии
зависимостей в проекте
• Рефакторинги в масштабе solution’а
• Полноценная поддержка инспекций в
XAML’е
• Улучшения в поддержке CSS
• Версия в виде консольного приложения
35. 35Магия продуктивной разработки, Тимур Рахматиллаев
Нужно больше ReSharper’а!
• Функциональные возможности
ReSharper’а:
http://bit.ly/resharper_features
• Новые возможности ReSharper 8:
http://bit.ly/resharper8
• Написание плагинов для ReSharper’а с
использованием Open API:
http://bit.ly/resharper_sdk
36. 36Магия продуктивной разработки, Тимур Рахматиллаев
Обзор плагинов
• AgentJohnson – дополнительные
рефакторинги и контекстные действия
• AgentMulder – упрощает работу
(навигация, анализ) с DI-контейнерами
• ForTea – добавляет поддержку языка
шаблонов T4
• TestCop – новые инспекции и
навигационные возможности при
работе с модульными тестами