SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
ReSharper 8.0 или магия
продуктивной разработки
Тимур Рахматиллаев
ByndyuSoft
twitter.com/eskat0n
7-я конференция .NET разработчиков
22 сентября 2013
www.dotnetconf.ru
2Магия продуктивной разработки, Тимур Рахматиллаев
Что привело к созданию
программирования?
ЛЕНЬ!
3
4Магия продуктивной разработки, Тимур Рахматиллаев
Не ленью единой…
5Магия продуктивной разработки, Тимур Рахматиллаев
Наша цель
• Делать меньше
• Получать больший результат
6Магия продуктивной разработки, Тимур Рахматиллаев
Мы…
• Пишем код?
• Разрабатываем?
• Реализуем алгоритмы?
НЕТ!
7
8Магия продуктивной разработки, Тимур Рахматиллаев
Мы…
Набираем код
Оптимизируем
Пишем тесты
Запускаем тесты
Рефакторим
«Причесываем»
Делимся опытом
Вырабатываем стиль
Экспериментируем
Копируем
Ищем
Организуем
Делаем код понятнее
Переименовываем
Ищем ошибки
Собираем
Отлаживаем
РеализуемСтроим архитектуру
ПЬЕМ КОФЕПЬЕМ КОФЕ
9Магия продуктивной разработки, Тимур Рахматиллаев
Извечные вопросы
• Кто виноват в том, что мы делаем это
медленно или неэффективно?
• Что делать, чтобы делать все это
эффективнее и быстрее?
10Магия продуктивной разработки, Тимур Рахматиллаев
Автоматизация рутинных
операций
• ReSharper
• CodeRush
• T4
• Встроенные средства VisualStudio 2012
11Магия продуктивной разработки, Тимур Рахматиллаев
Автоматизация рутинных
операций
• ReSharper
• CodeRush
• T4
• Встроенные средства VisualStudio 2012
12Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а
• Анализ кода
• Навигация по коду и поиск
• Помощь в кодинге (ускорение)
• Рефакторинги
• Генерация кода
• Шаблонизация кода
• Форматирование и стандартизация
• Модульное тестирование
13Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а
• Анализ кода
• Навигация по коду и поиск
• Помощь в кодинге (ускорение)
• Рефакторинги
• Генерация кода
• Шаблонизация кода
• Форматирование и стандартизация
• Модульное тестирование
14Магия продуктивной разработки, Тимур Рахматиллаев
Возможности ReSharper’а #2
• Поддержка работы с ASP.NET и
ASP.NET MVC (ускорение, генерация,
анализ)
• Поддержка XAML (ускорение,
генерация, анализ)
• Помощь в интернационализации
приложения
• Подсветка и автодополнения для
скриптов сборки NAnt и MSBuild
• Расширяемость с помощью плагинов
0_о
15Магия продуктивной разработки, Тимур Рахматиллаев
Работа с ReSharper’ом
Show Must Go On!
17Магия продуктивной разработки, Тимур Рахматиллаев
Инспекции в ReSharper’е
• Error
• Warning
• Suggestion
• Hint
Могут быть solution wide
18Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
19Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
20Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
• Возможность задавать шаблоны для
поиска и замены в кодe
• Возможность параметризовывать
шаблоны
• Возможность накладывать на шаблоны
ограничения с использованием знаний
ReSharper’а об AST
21Магия продуктивной разработки, Тимур Рахматиллаев
Structural Search and
Replace
Шаблоны можно использовать для
создания собственных инспекций и quick
fix’ов!
22Магия продуктивной разработки, Тимур Рахматиллаев
ReSharper – инструмент
Инструмент в полном смысле слова!
23Магия продуктивной разработки, Тимур Рахматиллаев
Наш идеал - никакой мышки
24Магия продуктивной разработки, Тимур Рахматиллаев
Святая клавиатура
25Магия продуктивной разработки, Тимур Рахматиллаев
Зачем мне ReSharper?
• Ваше время дорого
• Не только вашему начальнику или
заказчику
• Ваше удобство, а следовательно и
нервы, тоже дороги
• Вам
• Ваш код станет профессиональнее, а
стиль чище
• Это круто
26Магия продуктивной разработки, Тимур Рахматиллаев
Переход на ReSharper
• Это смена образа мышления
• Поначалу ваша скорость работы,
скорее всего, упадет
27Магия продуктивной разработки, Тимур Рахматиллаев
Ломайте себя!
28Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Сделал без ReSharper’а
• Одумался
• Ctrl+Z, Ctrl+Z, Ctrl+Z
• Переделал с использованием функций
ReSharper’а
• Каждый раз!
• …
• PROFIT
29Магия продуктивной разработки, Тимур Рахматиллаев
30Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Распечатать и повесить плакат со
списком горячих клавиш рядом с
монитором
• Отключить мышку от копьютера (sic!)
• Если вы думаете, что что-то можно
сделать с помощью ReSharper’а –
погуглите
• «вот было бы хорошо»-принцип
31Магия продуктивной разработки, Тимур Рахматиллаев
Один в поле не воин
32Магия продуктивной разработки, Тимур Рахматиллаев
ReSharper для команды
• Общий стиль кодирования – обмен
конфигурацией правил
форматирования через инструменты
импорта/экспорта в XML
• Общие принципы реализации типовых
моментов – обмен шаблонами SSR
через импорт/экспорт в XML
33Магия продуктивной разработки, Тимур Рахматиллаев
Практики
• Храните шаблоны SSR в репозитории
проекта
• Храните настройки cleanup’а и
форматирования в файле настроек
solution’а в репозитории проекта
• Храните архишаблоны в репозитории
компании
34Магия продуктивной разработки, Тимур Рахматиллаев
ReSharper 8.0
• Графическое представлении иерархии
зависимостей в проекте
• Рефакторинги в масштабе solution’а
• Полноценная поддержка инспекций в
XAML’е
• Улучшения в поддержке CSS
• Версия в виде консольного приложения
35Магия продуктивной разработки, Тимур Рахматиллаев
Нужно больше ReSharper’а!
• Функциональные возможности
ReSharper’а:
http://bit.ly/resharper_features
• Новые возможности ReSharper 8:
http://bit.ly/resharper8
• Написание плагинов для ReSharper’а с
использованием Open API:
http://bit.ly/resharper_sdk
36Магия продуктивной разработки, Тимур Рахматиллаев
Обзор плагинов
• AgentJohnson – дополнительные
рефакторинги и контекстные действия
• AgentMulder – упрощает работу
(навигация, анализ) с DI-контейнерами
• ForTea – добавляет поддержку языка
шаблонов T4
• TestCop – новые инспекции и
навигационные возможности при
работе с модульными тестами
37Магия продуктивной разработки, Тимур Рахматиллаев
Материалы доклада
http://bit.ly/dotnetconf7-resharper
38Магия продуктивной разработки, Тимур Рахматиллаев
Спасибо за внимание
Тимур Рахматиллаев
ByndyuSoft
eskat0n@byndyusoft.com
twitter.com/eskat0n

Más contenido relacionado

La actualidad más candente

Д. Устюжанин как вырастить менеджера по продукту внутри компании
Д. Устюжанин   как вырастить менеджера по продукту внутри компанииД. Устюжанин   как вырастить менеджера по продукту внутри компании
Д. Устюжанин как вырастить менеджера по продукту внутри компанииPCampRussia
 
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.ScrumTrek
 
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в ScrumSergey Semyonov
 
5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда 5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда Heads&Hands
 
Менеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиМенеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиDenis Beskov
 
Введние в Scrum
Введние в ScrumВведние в Scrum
Введние в Scrumwebman86
 
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...PCampRussia
 
Разработка с элементами Agile и Scrum
Разработка с элементами Agile и ScrumРазработка с элементами Agile и Scrum
Разработка с элементами Agile и ScrumVladimir Merkushev
 
От идеи к продукту. Dev Generation
От идеи к продукту. Dev GenerationОт идеи к продукту. Dev Generation
От идеи к продукту. Dev GenerationDev.by
 
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения Scrum
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения ScrumSEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения Scrum
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения ScrumТранслируем.бел
 
2013 10-organizational-product-management-competence
2013 10-organizational-product-management-competence2013 10-organizational-product-management-competence
2013 10-organizational-product-management-competenceDmitry Bezuglyy
 
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...PCampRussia
 
Как не разочароваться в Scrum?
Как не разочароваться в Scrum?Как не разочароваться в Scrum?
Как не разочароваться в Scrum?Denis Tuchin
 
Usability и бизнес. Проблемы и подходы к решениям
Usability и бизнес. Проблемы и подходы к решениямUsability и бизнес. Проблемы и подходы к решениям
Usability и бизнес. Проблемы и подходы к решениямОльга Павлова
 
Типичные ошибки внедрения Scrum
Типичные ошибки внедрения ScrumТипичные ошибки внедрения Scrum
Типичные ошибки внедрения ScrumSQALab
 
Product Owner: Inception
Product Owner: InceptionProduct Owner: Inception
Product Owner: InceptionAlexey Atemasov
 

La actualidad más candente (20)

Д. Устюжанин как вырастить менеджера по продукту внутри компании
Д. Устюжанин   как вырастить менеджера по продукту внутри компанииД. Устюжанин   как вырастить менеджера по продукту внутри компании
Д. Устюжанин как вырастить менеджера по продукту внутри компании
 
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.
Роман Бочаров. Быстрые циклы и качественные исследования в разработке продукта.
 
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в Scrum
 
5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда 5 правил успешной разработки приложений для бренда
5 правил успешной разработки приложений для бренда
 
Менеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыкиМенеджер продукта. Как обрести и развить ключевые навыки
Менеджер продукта. Как обрести и развить ключевые навыки
 
Введние в Scrum
Введние в ScrumВведние в Scrum
Введние в Scrum
 
От идеи до рабочей MVP
От идеи до рабочей MVPОт идеи до рабочей MVP
От идеи до рабочей MVP
 
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...
Павел Гущин, Яндекс. Становление дисциплины управления продуктами в яндекс.ка...
 
Scrum
ScrumScrum
Scrum
 
Scrum 2.0
Scrum 2.0Scrum 2.0
Scrum 2.0
 
Разработка с элементами Agile и Scrum
Разработка с элементами Agile и ScrumРазработка с элементами Agile и Scrum
Разработка с элементами Agile и Scrum
 
От идеи к продукту. Dev Generation
От идеи к продукту. Dev GenerationОт идеи к продукту. Dev Generation
От идеи к продукту. Dev Generation
 
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения Scrum
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения ScrumSEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения Scrum
SEF.BY-2011_Denis_TuchДенис Тучин_Agile_Круглый_стол 13 ошибок применения Scrum
 
2013 10-organizational-product-management-competence
2013 10-organizational-product-management-competence2013 10-organizational-product-management-competence
2013 10-organizational-product-management-competence
 
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...
Продакт менеджер & системный аналитик. О судьбе отношений и роли в команде (А...
 
Как не разочароваться в Scrum?
Как не разочароваться в Scrum?Как не разочароваться в Scrum?
Как не разочароваться в Scrum?
 
Scrum! v1.1
Scrum! v1.1Scrum! v1.1
Scrum! v1.1
 
Usability и бизнес. Проблемы и подходы к решениям
Usability и бизнес. Проблемы и подходы к решениямUsability и бизнес. Проблемы и подходы к решениям
Usability и бизнес. Проблемы и подходы к решениям
 
Типичные ошибки внедрения Scrum
Типичные ошибки внедрения ScrumТипичные ошибки внедрения Scrum
Типичные ошибки внедрения Scrum
 
Product Owner: Inception
Product Owner: InceptionProduct Owner: Inception
Product Owner: Inception
 

Destacado

Построение гибкого процесса разработки (4-5 курсы)
Построение гибкого процесса разработки (4-5 курсы)Построение гибкого процесса разработки (4-5 курсы)
Построение гибкого процесса разработки (4-5 курсы)Timur Rakhmatillaev
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумоеTimur Rakhmatillaev
 
Построение гибкого процесса разработки (3 курс)
Построение гибкого процесса разработки (3 курс)Построение гибкого процесса разработки (3 курс)
Построение гибкого процесса разработки (3 курс)Timur Rakhmatillaev
 
Клиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного маршаКлиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного маршаAlexander Byndyu
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единымAlexander Byndyu
 
Бутылка саке и муравей
Бутылка саке и муравейБутылка саке и муравей
Бутылка саке и муравейAlexander Byndyu
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проектеAlexander Byndyu
 
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.Alexander Byndyu
 
Много данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'еМного данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'еAlexander Byndyu
 
Смотрим на Mvvm сквозь prism'у
Смотрим на Mvvm сквозь prism'уСмотрим на Mvvm сквозь prism'у
Смотрим на Mvvm сквозь prism'уAlexander Byndyu
 
код шрёдингера
код шрёдингеракод шрёдингера
код шрёдингераRuslan Safin
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETAlexander Byndyu
 
Непрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного маршаНепрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного маршаAlexander Byndyu
 
RabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работаетRabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работаетAlexander Byndyu
 
Agile на практике
Agile на практикеAgile на практике
Agile на практикеAlexander Byndyu
 
Cassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахCassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахAlexander Mezhov
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииAlexander Byndyu
 
Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPAEugene Abrosimov
 
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...Alexey Pikulev
 

Destacado (20)

Построение гибкого процесса разработки (4-5 курсы)
Построение гибкого процесса разработки (4-5 курсы)Построение гибкого процесса разработки (4-5 курсы)
Построение гибкого процесса разработки (4-5 курсы)
 
NPAPI
NPAPINPAPI
NPAPI
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумое
 
Построение гибкого процесса разработки (3 курс)
Построение гибкого процесса разработки (3 курс)Построение гибкого процесса разработки (3 курс)
Построение гибкого процесса разработки (3 курс)
 
Клиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного маршаКлиентская оптимизация в ритме военного марша
Клиентская оптимизация в ритме военного марша
 
Не SQL'ем единым
Не SQL'ем единымНе SQL'ем единым
Не SQL'ем единым
 
Бутылка саке и муравей
Бутылка саке и муравейБутылка саке и муравей
Бутылка саке и муравей
 
Data mining в реальном проекте
Data mining в реальном проектеData mining в реальном проекте
Data mining в реальном проекте
 
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.
Продуктово-аутсорсинговая разработка. Развитие продуктовых идей.
 
Много данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'еМного данных, много вычислений: есть ли жизнь на Amazon'е
Много данных, много вычислений: есть ли жизнь на Amazon'е
 
Смотрим на Mvvm сквозь prism'у
Смотрим на Mvvm сквозь prism'уСмотрим на Mvvm сквозь prism'у
Смотрим на Mvvm сквозь prism'у
 
код шрёдингера
код шрёдингеракод шрёдингера
код шрёдингера
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NET
 
Непрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного маршаНепрерывная интеграция в ритме военного марша
Непрерывная интеграция в ритме военного марша
 
RabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работаетRabbitMQ - обмен сообщениями, который просто работает
RabbitMQ - обмен сообщениями, который просто работает
 
Agile на практике
Agile на практикеAgile на практике
Agile на практике
 
Cassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системахCassandra: быстрая запись данных в высоконагруженных системах
Cassandra: быстрая запись данных в высоконагруженных системах
 
Индексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизацииИндексы в MSSQL: принципы работы и способы оптимизации
Индексы в MSSQL: принципы работы и способы оптимизации
 
Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPA
 
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
Применение Kanban для управления портфелем проектов. Конференция #Dotnetconf ...
 

Similar a ReSharper 8.0 или магия продуктивной разработки

Правильная семантическая разметка для всех
Правильная семантическая разметка для всехПравильная семантическая разметка для всех
Правильная семантическая разметка для всехYuliya Tikhokhod
 
Виталий Харисов - Общий цикл разработки
Виталий Харисов - Общий цикл разработкиВиталий Харисов - Общий цикл разработки
Виталий Харисов - Общий цикл разработкиYandex
 
Михаил Трошев — «Общий цикл разработки»
Михаил Трошев — «Общий цикл разработки»Михаил Трошев — «Общий цикл разработки»
Михаил Трошев — «Общий цикл разработки»Yandex
 
Keyword-driven framework
Keyword-driven frameworkKeyword-driven framework
Keyword-driven frameworkSQALab
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Совершенный тестовый фреймворк
Совершенный тестовый фреймворкСовершенный тестовый фреймворк
Совершенный тестовый фреймворкautomated-testing.info
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmapundera
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаSergey Rogachev
 
Сергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахСергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахScrumTrek
 
SCRUM в больших проектах
SCRUM в больших проектахSCRUM в больших проектах
SCRUM в больших проектахDenis Petelin
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаSkillsWiki
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаgeekfamilyrussia
 
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...viktor_bezhenar
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Irina Leshchuk
 
Дайджест вакансий ИТ-Парка ферваль
Дайджест вакансий ИТ-Парка фервальДайджест вакансий ИТ-Парка ферваль
Дайджест вакансий ИТ-Парка фервальАндрей Жеглов
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
 

Similar a ReSharper 8.0 или магия продуктивной разработки (20)

Правильная семантическая разметка для всех
Правильная семантическая разметка для всехПравильная семантическая разметка для всех
Правильная семантическая разметка для всех
 
Виталий Харисов - Общий цикл разработки
Виталий Харисов - Общий цикл разработкиВиталий Харисов - Общий цикл разработки
Виталий Харисов - Общий цикл разработки
 
Михаил Трошев — «Общий цикл разработки»
Михаил Трошев — «Общий цикл разработки»Михаил Трошев — «Общий цикл разработки»
Михаил Трошев — «Общий цикл разработки»
 
Keyword-driven framework
Keyword-driven frameworkKeyword-driven framework
Keyword-driven framework
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Совершенный тестовый фреймворк
Совершенный тестовый фреймворкСовершенный тестовый фреймворк
Совершенный тестовый фреймворк
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmap
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе Сбербанка
 
Сергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахСергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерах
 
SCRUM в больших проектах
SCRUM в больших проектахSCRUM в больших проектах
SCRUM в больших проектах
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...Постановка и улучшение скрам процесса для группы проектов в большой компании,...
Постановка и улучшение скрам процесса для группы проектов в большой компании,...
 
Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language) Competency Model (HR API conference, Russian language)
Competency Model (HR API conference, Russian language)
 
Дайджест вакансий ИТ-Парка ферваль
Дайджест вакансий ИТ-Парка фервальДайджест вакансий ИТ-Парка ферваль
Дайджест вакансий ИТ-Парка ферваль
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 

ReSharper 8.0 или магия продуктивной разработки

  • 1. ReSharper 8.0 или магия продуктивной разработки Тимур Рахматиллаев ByndyuSoft twitter.com/eskat0n 7-я конференция .NET разработчиков 22 сентября 2013 www.dotnetconf.ru
  • 2. 2Магия продуктивной разработки, Тимур Рахматиллаев Что привело к созданию программирования?
  • 4. 4Магия продуктивной разработки, Тимур Рахматиллаев Не ленью единой…
  • 5. 5Магия продуктивной разработки, Тимур Рахматиллаев Наша цель • Делать меньше • Получать больший результат
  • 6. 6Магия продуктивной разработки, Тимур Рахматиллаев Мы… • Пишем код? • Разрабатываем? • Реализуем алгоритмы?
  • 8. 8Магия продуктивной разработки, Тимур Рахматиллаев Мы… Набираем код Оптимизируем Пишем тесты Запускаем тесты Рефакторим «Причесываем» Делимся опытом Вырабатываем стиль Экспериментируем Копируем Ищем Организуем Делаем код понятнее Переименовываем Ищем ошибки Собираем Отлаживаем РеализуемСтроим архитектуру ПЬЕМ КОФЕПЬЕМ КОФЕ
  • 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_о
  • 15. 15Магия продуктивной разработки, Тимур Рахматиллаев
  • 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’ов!
  • 22. 22Магия продуктивной разработки, Тимур Рахматиллаев ReSharper – инструмент Инструмент в полном смысле слова!
  • 23. 23Магия продуктивной разработки, Тимур Рахматиллаев Наш идеал - никакой мышки
  • 24. 24Магия продуктивной разработки, Тимур Рахматиллаев Святая клавиатура
  • 25. 25Магия продуктивной разработки, Тимур Рахматиллаев Зачем мне ReSharper? • Ваше время дорого • Не только вашему начальнику или заказчику • Ваше удобство, а следовательно и нервы, тоже дороги • Вам • Ваш код станет профессиональнее, а стиль чище • Это круто
  • 26. 26Магия продуктивной разработки, Тимур Рахматиллаев Переход на ReSharper • Это смена образа мышления • Поначалу ваша скорость работы, скорее всего, упадет
  • 27. 27Магия продуктивной разработки, Тимур Рахматиллаев Ломайте себя!
  • 28. 28Магия продуктивной разработки, Тимур Рахматиллаев Практики • Сделал без ReSharper’а • Одумался • Ctrl+Z, Ctrl+Z, Ctrl+Z • Переделал с использованием функций ReSharper’а • Каждый раз! • … • PROFIT
  • 29. 29Магия продуктивной разработки, Тимур Рахматиллаев
  • 30. 30Магия продуктивной разработки, Тимур Рахматиллаев Практики • Распечатать и повесить плакат со списком горячих клавиш рядом с монитором • Отключить мышку от копьютера (sic!) • Если вы думаете, что что-то можно сделать с помощью ReSharper’а – погуглите • «вот было бы хорошо»-принцип
  • 31. 31Магия продуктивной разработки, Тимур Рахматиллаев Один в поле не воин
  • 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 – новые инспекции и навигационные возможности при работе с модульными тестами
  • 37. 37Магия продуктивной разработки, Тимур Рахматиллаев Материалы доклада http://bit.ly/dotnetconf7-resharper
  • 38. 38Магия продуктивной разработки, Тимур Рахматиллаев Спасибо за внимание Тимур Рахматиллаев ByndyuSoft eskat0n@byndyusoft.com twitter.com/eskat0n