SlideShare una empresa de Scribd logo
1 de 22
Программируем быстрее с 
CodeRush 
Александр Захаров 
https://www.devexpress.com 
Developer Express Inc.
О КОМАНДЕ 
• Разработка дополнений для VisualStudio 
• CodeRush (CR) - наш основной продукт 
• Цель - удобный иснтрумент для 
эффективной ежедневной разработки
CodeRush
ЗА И ПРОТИВ ДОПОЛНЕНИЙ ДЛЯ VS 
• Новые возможности 
• Повышение эффективности 
• Удобство использования 
• Влияние на IDE (память, 
производительность, стабильность) 
• Нарушение привычек разработки
ОБЗОР ОСНОВНЫХ ВОЗМОЖНОСТЕЙ CR 
• Работа в редакторе 
• Шаблоны кода 
• Рефакторинг 
• Навигация 
• Статический анализ 
• Работа с тестами 
• Инструменты отладки
РАБОТА В РЕДАКТОРЕ 
• Tab to Next/Prev Reference (Tab, Shift + Tab) 
• Selection Expand/Reduce (Ctrl+W, 
Ctrl+Shift+W) 
• Selection Comment (‘, /) 
• Camel Case Left/Right (Alt+Left, Alt+Right) 
• Camel Case Select Left/Right (Shift+Alt+Left, 
Shift+Alt+Right) 
• Paste Replace Word (Ctrl+B)
ШАБЛОНЫ КОДА 
c - class 
i - interface 
s - struct 
d - delegate 
m - method 
p - property 
a - auto property 
r - readonly property 
w - write only property 
f - field 
v - variable
ДИНАМИЧЕСКИЕ ШАБЛОНЫ 
v - void 
o - object 
by - byte 
sh - short 
i - int 
c - char 
s - string 
b - bool 
u - uint 
l - long 
f - float 
d - double 
de - decimal 
d8 - DateTime 
ip - IntPtr
ПРИМЕРЫ РАСКРЫТИЯ ШАБЛОНОВ 
ms 
mb 
ac 
ad8
РЕФАКТОРИНГ 
• Шорткат: Ctrl+~ 
• Move Type to File 
• Use String.Format 
• Introduce Constant 
• Promote to Parameter 
• Add Parameter
MOVE TYPE TO FILE
USE STRING.FORMAT
НАВИГАЦИЯ 
• Маркеры (Alt+Home, Alt+Shift+Home, Esc) 
• Букмарки (Ctrl+Alt+1, Alt+1) 
• Quick Nav (Ctrl+Shift+Q) 
• Quick File Nav (Ctrl+Alt+F) 
• Recent Files (Ctrl+Alt+.) 
• Jump To (Ctrl+Alt+N)
QUICK NAV, QUICK FILE NAV
СТАТИЧЕСКИЙ АНАЛИЗ
АНАЛИЗ ДУБЛИРОВАНИЯ КОДА
РАБОТА С ТЕСТАМИ 
• Запуск и отладка тестов из кода 
• Поддержка NUnit, xUnit, MSTest, MSpec
ИНСТРУМЕНТЫ ОТЛАДКИ
VISUAL STUDIO 2015, CODERUSH 
• Roslyn - cервис компиляторов C# и 
VisualBasic 
• API доступный в Visual Studio 
• То на чем работает Visual Studio 
• Меньше потребление памяти 
• Производительность
СПАСИБО 
• https://www.devexpress.com 
• https://www.devexpress.com/Products/CodeRush
КОНТАКТ 
Александр Захаров CodeRush Lead Developer 
alexander.zakharov@devexpress.com
Программируем быстрее с CodeRush

Más contenido relacionado

La actualidad más candente

Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
 
Где живут Ваши объявления / Тюрин Михаил (Avito)
Где живут Ваши объявления / Тюрин Михаил (Avito)Где живут Ваши объявления / Тюрин Михаил (Avito)
Где живут Ваши объявления / Тюрин Михаил (Avito)Ontico
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...Ontico
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовMax Lapshin
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
 
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.proit-people
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015Alex Chistyakov
 
Практические приёмы оптимизации .NET-приложений
Практические приёмы оптимизации .NET-приложенийПрактические приёмы оптимизации .NET-приложений
Практические приёмы оптимизации .NET-приложенийAndrey Akinshin
 
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС2ГИС Технологии
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомDaniel Podolsky
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Ontico
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Ontico
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Ontico
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераDaniel Podolsky
 
Владимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLВладимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLYandex
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаDaniel Podolsky
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеit-people
 

La actualidad más candente (19)

Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
 
Где живут Ваши объявления / Тюрин Михаил (Avito)
Где живут Ваши объявления / Тюрин Михаил (Avito)Где живут Ваши объявления / Тюрин Михаил (Avito)
Где живут Ваши объявления / Тюрин Михаил (Avito)
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядов
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015
 
Практические приёмы оптимизации .NET-приложений
Практические приёмы оптимизации .NET-приложенийПрактические приёмы оптимизации .NET-приложений
Практические приёмы оптимизации .NET-приложений
 
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
 
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация / Андрей Аксенов (Sphinx)
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного Хецнера
 
Владимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLВладимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQL
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
 
Redis presentation
Redis presentationRedis presentation
Redis presentation
 
Redis in live
Redis in liveRedis in live
Redis in live
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
 

Destacado

Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...
Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...
Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...Bogdan Shevchenko
 
Глобальный взгляд на мобильный мир 2013, Nielsen
Глобальный взгляд на мобильный мир 2013, NielsenГлобальный взгляд на мобильный мир 2013, Nielsen
Глобальный взгляд на мобильный мир 2013, NielsenAnatoly K
 
Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#geekfamilyrussia
 
50 tips for twitter in business 2014
50 tips for twitter in business 201450 tips for twitter in business 2014
50 tips for twitter in business 2014Anatoly K
 
Защита данных и непрерывная доступность
Защита данных и непрерывная доступностьЗащита данных и непрерывная доступность
Защита данных и непрерывная доступностьAlexey Kononenko
 
Proзенит Бенфика Зенит
Proзенит Бенфика ЗенитProзенит Бенфика Зенит
Proзенит Бенфика ЗенитOleg Anisimov
 
HALVA - Kazakhstan loyalty coalition
HALVA - Kazakhstan loyalty coalition HALVA - Kazakhstan loyalty coalition
HALVA - Kazakhstan loyalty coalition Konstantin Gontmakher
 
Oleg Anisimov on RIW2010
Oleg Anisimov on RIW2010Oleg Anisimov on RIW2010
Oleg Anisimov on RIW2010Oleg Anisimov
 
Тинькофф Мобильный Кошелек
Тинькофф Мобильный КошелекТинькофф Мобильный Кошелек
Тинькофф Мобильный КошелекTinkoff_Wallet
 
Пороги инвестирования инвестиционных фондов
Пороги инвестирования инвестиционных фондовПороги инвестирования инвестиционных фондов
Пороги инвестирования инвестиционных фондовOleg Anisimov
 
FinNext-2016: 18 февраля в Москве!!!
FinNext-2016: 18 февраля в Москве!!! FinNext-2016: 18 февраля в Москве!!!
FinNext-2016: 18 февраля в Москве!!! Oleg Anisimov
 
DATAS Technolody may2016 eng AK
DATAS Technolody may2016 eng AKDATAS Technolody may2016 eng AK
DATAS Technolody may2016 eng AKAlexey Kononenko
 
Куда планирует развиваться мобильный банкинг
Куда планирует развиваться мобильный банкингКуда планирует развиваться мобильный банкинг
Куда планирует развиваться мобильный банкингИгорь Мыслинский
 
эволюция программ лояльности
эволюция программ лояльностиэволюция программ лояльности
эволюция программ лояльностиNikita Abramenko
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущееgeekfamilyrussia
 
E-commerce тренды 2015
E-commerce тренды 2015E-commerce тренды 2015
E-commerce тренды 2015Yulia Goncharova
 
Презентация мобильного банка Yocto на БанкИТ'14
Презентация мобильного банка Yocto на БанкИТ'14Презентация мобильного банка Yocto на БанкИТ'14
Презентация мобильного банка Yocto на БанкИТ'14Alex Zubel
 

Destacado (20)

Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...
Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...
Санкт-Петербургская интернет-конференция (СПИК) 2013. Visa QIWI Wallet: Приме...
 
Глобальный взгляд на мобильный мир 2013, Nielsen
Глобальный взгляд на мобильный мир 2013, NielsenГлобальный взгляд на мобильный мир 2013, Nielsen
Глобальный взгляд на мобильный мир 2013, Nielsen
 
Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#Как попасть на следующий уровень карьеры и зарплаты в C#
Как попасть на следующий уровень карьеры и зарплаты в C#
 
50 tips for twitter in business 2014
50 tips for twitter in business 201450 tips for twitter in business 2014
50 tips for twitter in business 2014
 
Защита данных и непрерывная доступность
Защита данных и непрерывная доступностьЗащита данных и непрерывная доступность
Защита данных и непрерывная доступность
 
Proзенит Бенфика Зенит
Proзенит Бенфика ЗенитProзенит Бенфика Зенит
Proзенит Бенфика Зенит
 
HALVA - Kazakhstan loyalty coalition
HALVA - Kazakhstan loyalty coalition HALVA - Kazakhstan loyalty coalition
HALVA - Kazakhstan loyalty coalition
 
Oleg Anisimov on RIW2010
Oleg Anisimov on RIW2010Oleg Anisimov on RIW2010
Oleg Anisimov on RIW2010
 
Finnext 2015
Finnext 2015Finnext 2015
Finnext 2015
 
Тинькофф Мобильный Кошелек
Тинькофф Мобильный КошелекТинькофф Мобильный Кошелек
Тинькофф Мобильный Кошелек
 
Пороги инвестирования инвестиционных фондов
Пороги инвестирования инвестиционных фондовПороги инвестирования инвестиционных фондов
Пороги инвестирования инвестиционных фондов
 
Md rating 010415
Md rating 010415Md rating 010415
Md rating 010415
 
FinNext-2016: 18 февраля в Москве!!!
FinNext-2016: 18 февраля в Москве!!! FinNext-2016: 18 февраля в Москве!!!
FinNext-2016: 18 февраля в Москве!!!
 
DATAS Technolody may2016 eng AK
DATAS Technolody may2016 eng AKDATAS Technolody may2016 eng AK
DATAS Technolody may2016 eng AK
 
Куда планирует развиваться мобильный банкинг
Куда планирует развиваться мобильный банкингКуда планирует развиваться мобильный банкинг
Куда планирует развиваться мобильный банкинг
 
эволюция программ лояльности
эволюция программ лояльностиэволюция программ лояльности
эволюция программ лояльности
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущее
 
Centili
CentiliCentili
Centili
 
E-commerce тренды 2015
E-commerce тренды 2015E-commerce тренды 2015
E-commerce тренды 2015
 
Презентация мобильного банка Yocto на БанкИТ'14
Презентация мобильного банка Yocto на БанкИТ'14Презентация мобильного банка Yocto на БанкИТ'14
Презентация мобильного банка Yocto на БанкИТ'14
 

Similar a Программируем быстрее с CodeRush

Программируем быстрее с CodeRush
Программируем быстрее с CodeRushПрограммируем быстрее с CodeRush
Программируем быстрее с CodeRushGoSharp
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHighLoad2009
 
Как делать глобальный проект
Как делать глобальный проектКак делать глобальный проект
Как делать глобальный проектisdeforum
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...Nikolay Samokhvalov
 
Локализация - как делать глобальный проект?
Локализация - как делать глобальный проект?Локализация - как делать глобальный проект?
Локализация - как делать глобальный проект?Alconost
 
MySQL: Есть ли жизнь после 1 млрд. записей.
MySQL: Есть ли жизнь после 1 млрд. записей.MySQL: Есть ли жизнь после 1 млрд. записей.
MySQL: Есть ли жизнь после 1 млрд. записей.MageCloud
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ontico
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)Sergey Skvortsov
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Media Gorod
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Development User Group
 
Formal verification of C code
Formal verification of C codeFormal verification of C code
Formal verification of C codeDenis Efremov
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...it-people
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструментыRoman Dvornov
 

Similar a Программируем быстрее с CodeRush (20)

Программируем быстрее с CodeRush
Программируем быстрее с CodeRushПрограммируем быстрее с CodeRush
Программируем быстрее с CodeRush
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus Ready
 
Как делать глобальный проект
Как делать глобальный проектКак делать глобальный проект
Как делать глобальный проект
 
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва... Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
 
Локализация - как делать глобальный проект?
Локализация - как делать глобальный проект?Локализация - как делать глобальный проект?
Локализация - как делать глобальный проект?
 
Visual studio toolbox
Visual studio toolboxVisual studio toolbox
Visual studio toolbox
 
MySQL: Есть ли жизнь после 1 млрд. записей.
MySQL: Есть ли жизнь после 1 млрд. записей.MySQL: Есть ли жизнь после 1 млрд. записей.
MySQL: Есть ли жизнь после 1 млрд. записей.
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
 
New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)New SpyLOG architechture (Highload 2008)
New SpyLOG architechture (Highload 2008)
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169Hl2008 Spy Log Architechture 169
Hl2008 Spy Log Architechture 169
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Sivko
SivkoSivko
Sivko
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Formal verification of C code
Formal verification of C codeFormal verification of C code
Formal verification of C code
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 

Más de geekfamilyrussia

Архитектура приложений для мобильных устройств на платформе Windows
Архитектура приложений для мобильных устройств на платформе WindowsАрхитектура приложений для мобильных устройств на платформе Windows
Архитектура приложений для мобильных устройств на платформе Windowsgeekfamilyrussia
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpgeekfamilyrussia
 
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...geekfamilyrussia
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаgeekfamilyrussia
 
Средства кросплатформенной разработки. Xamarin и ApperCode
Средства кросплатформенной разработки. Xamarin и ApperCodeСредства кросплатформенной разработки. Xamarin и ApperCode
Средства кросплатформенной разработки. Xamarin и ApperCodegeekfamilyrussia
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...geekfamilyrussia
 

Más de geekfamilyrussia (6)

Архитектура приложений для мобильных устройств на платформе Windows
Архитектура приложений для мобильных устройств на платформе WindowsАрхитектура приложений для мобильных устройств на платформе Windows
Архитектура приложений для мобильных устройств на платформе Windows
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharp
 
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...
Как попасть в лучшие 5% при прохождении собеседования на удаленную работу в T...
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Средства кросплатформенной разработки. Xamarin и ApperCode
Средства кросплатформенной разработки. Xamarin и ApperCodeСредства кросплатформенной разработки. Xamarin и ApperCode
Средства кросплатформенной разработки. Xamarin и ApperCode
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
 

Программируем быстрее с CodeRush

Notas del editor

  1. Добрый день, меня зовут Александр Захаров, я представляю компанию DevExpress. В своем докладе я расскажу вам про CodeRush и как можно программировать быстрее с его использованием.
  2. Сначала несколько слов о компании DevExpress и команде. Наша компания занимается разработкой UI компонентов - это основное направление нашей деятельности. Мы начинали с VCL рынка, а сейчас основные наши платформы это WinForms, WPF, ASP.NET. Также компания работает над продуктами для мобильной разработки и для JavaScript разработчиков. Помимо UI компонентов, мы разрабатываем еще и дополнения для Visual Studio Моя команда трудится над CodeRush. Это отдельное направлеине разработки нашей компании. CodeRush - это дополнение для VisualStudio. Цель продукта - предоставить разработчикам удобный инструмент для повышения эффективности при решении ежедневных задач программирования. Мы начинали еще с поддержки VisualStudio 2003. CodeRush неоднократно отмечался раличными призами и наградами.
  3. Иллюстрация - визуальные элементы, которые добавляются после установки CodeRush в VisualStudio.
  4. Зачем нужны дополнения для VisualStudio? Есть свои “за” и “против”. У нас в компании есть разработчики, которые используют дополнения для VisualStudio и в то же время есть те, кто очень ревностно относится к своей IDE и никогда ничего не устанавливает. Аргументация при этом разная. Те кто не использует дополнения говорят: Это влияет на мою IDE Потребление памяти может быть больше. Время запуска может увеличиваться. Стабильность может нарушаться. Дополнения добавляют непонятно что и я неузнаю свою IDE. Но в то же время разработчиков, которые хотели бы получить дополнитльные функции в IDE значительно больше. Они хорошо осознают и видят на практике, что дополнения - это новые возможности. Новые возможности дают прирост эффективности. Такие люди сами ищут пути улучшения своей работы. И они всегда задаются вопросом, что и как можно улучшить. Ради таких разработчиков мы и работаем.
  5. Что же мы можем предложить? Время доклада не позволяет рассмотреть все, поэтому я расскажу об основных возможностях продукта. Итак, CodeRush это: Улучшения при наборе кода Шаблоны кода Инструменты рефакторинга Навигация Статический анализ Работа с тестами Инструменты отладки
  6. Часто возникает задача быстро найти и посмотреть все места где используется тот или иной символ CodeRush позволяет это сделать непосредственно из кода нажав Tab или Shift + Tab когда каретка находится на идентификаторе Для расширения или уменьшения выделенного кода можно использовать Ctrl+W и Ctrl+Shift+W Для того чтобы закоментировать часть кода, можно нажать ‘ или / Навигация по частям идентификаторов и выделение частей - Alt+Left, Alt+Right, Shift+Alt+Left, Shift+Alt+Right Вставка сразу с заменой текущего слова - Ctrl+B
  7. Шаблоны кода это одна из больших и мощных возможностей CodeRush. Шаблоны позволяют быстро добавить конструкции кода, которые очень часто набираются в повседневной работе. Например: декларация типов, полей, методов, свойств, событий, переменных и параметров. Для декларации типов (классов, структур, интерфейсов и делегатов) используются шаблоны c - декларация класса i - декларация интерфейса s - декларация структуры d - декларация делегата Для декларации элементов типов есть следующие шаблоны: m - метод p - свойство r - readonly свойство w - writeonly свойтво f - поле v - переменная В CodeRush есть динамические шаблоны. В динамических шаблонах часть мнемоники шаблона может менятся и выбираться из заранее определного списка.
  8. Динамические шаблоны в принципе по внешнему виду ничем не отличаются от обычных шаблонов. С динамическими шаблонами можно работать для декларации элементов с определенными возвращаемыми типами. Например если нам нужно объявить метод, который возвращает тип string, то в этом случае мы набираем m затем s - и нажимаем клавишу раскрытия шаблона (Пробел) Таким образом мы раскрыли шаблон ms В данном случае после мнемоники вторая буква указывает на тип: s - string, i - int, b - bool  и т.д.
  9. Здесь наглядно представлены примеры раскрытия шаблонов: mb, ms, ac, ad8 Заранее определенных шаблонов в CodeRush очень много, и может потребоваться некоторое время, чтобы в них разобраться. Но могу сказать, что оно того стоит если вы хотите быстро набирать код. Можно постепенно изучать один шаблон за другим, тратя на это пару минут в день. Запомнить на практике основные мнемоники и типы шаблонов. Это не займет много времени, но потом сэкономит значительно больше. И уже через неделю можно будет максимально использовать шаблоны при наборе кода.
  10. В CodeRush реализовано более 100 рефакторингов. Полный список и то как они работают можно найти на нашем сайте. В CodeRush есть один шорткат для доступа к рефаторингам: Ctrl+~ Очень часто наши пользователи применяют следующие рефакторинги: Move Type to File Use String.Format Introduce Constant Promote to Parameter Add Parameter
  11. Иллюстрация работы рефакторинга Move Type to File. Выбираем тип, нажимаем Ctrl+~, выбираем Move Type to File.
  12. Иллюстрация работы рефакторинга Use String.Format Здесь мы помещаем каретку на строку, нажимаем Ctrl+~ выбираем Use String.Format. Есть хинт, который показывает результат применения рефакторинга.
  13. Навигация в коде имеет очень важное значение. В CodeRush есть несколько возможностей для навигации в проекте. Для навигации по файлам можно использовать маркеры, для того, чтобы установить маркер нужно нажать Alt+Home Для того, чтобы вернуться к маркеру, нужно нажать Esc. Маркеры работают как стек. Для работы с букмарками используются комбинации Ctrl+Alt+1 - для того, чтобы установить букмарк Alt+1 - для того, чтобы перейти к установленному букмарку Используя Ctrl+~ меню можно снавигироваться на декларацию символа находящегося под кареткой. Jump To: Declaration Descendants Overrides Virtual Member Ancestor
  14. Quick Nav и Quick File Nav позволяют быстро снавигироваться к нужному типу или к нужному файлу. Quick Nav открывается комбинацией Ctrl+Shift+Q Quick File Nav открывается комбинацией Ctrl+Alt+F Можно использовать поиск и фильтрацию.
  15. В CodeRush есть статический анализ кода. Есть много правил для анализа, все их не перечислить, можно ознакомится в документации или на нашем сайте. Также можно добавлять свои правила проверки, для этого нужно написать плагин. Система расширений в CodeRush позволяет это сделать. CodeRush изначально поддерживает расширения, поэтому очень многие вещи можно сделать через плагины.
  16. Наряду со статическим анализом и поиском проблем в коде в CodeRush есть поиск дубликатных участков кода. Анализ дубликтов работает как на Copy Paste участках кода, так и на участках кода которые были скопированы а потом изменены. Конечно здесь нельзя говорить о поиске 100% функционально идентичных участках кода. Проверка прежде всего делается на основе структурной эквивалентности. Для поиска дублирующихся участков делается нормализация структуры кода. Т.е. сначала выполняется ряд преобразований кода, и потом происходит сравнение. Для найденых дублирующихся блоков, если это возможно предалагается возможность объединения их в один участок кода и измениением всех остальных участков. Консолидация кода.
  17. CodeRush позволяет запускать и отлаживать тесты непосредсвенно из кода. Для каждого тестового метода и фикстуры в коде добавляются иконки, при нажатии на которые можно запустить или отладить тест. Также состояние теста показывается непосредсвенно в коде. Это очень наглядно и удобно в режиме TDD. Кроме того есть окно Unit Test Runner где можно увидеть все тесты во всех проектах, запустить их и посмотреть статистику. Окно тест раннера удобно использовать если нужно запустить все тесты, или провести поиск нужно теста.
  18. Отладка кода - это очень важный этап в программировании, и может занимать время. Здесь от UI отладчика может зависит очень многое. Мы в CodeRush постарались упроситить процесс отладки при помощи инструментов визуализации. В процессе отладки CodeRush показывает значения переменных и параметров непосредсвенно в коде. Не нужно переключаться и добавлять переменные в окно Watch. Все необходимые значения сразу видны в коде.
  19. Visual Studio 2015 будет включать в свой состав Roslyn. Roslyn - это сервис компиляторов C# и VisualBasic. Нам это очень интересно. Сейчас мы работает над переводом части основной функциональности CodeRush на API Roslyn. Ипользование Rolsyn позволит нам сосредоточиться больше на конечной функциональности для разработчиков, а поддержка новых версий языков C# и VisualBasic и огромного пласта функциональности компиляторов будет осуществляться командой VisualStudio. Из заметных преимуществ здесь как раз можно отметь то, что мы сможем решить одну из проблем дополнений для VisualStudio о которых я говорил в начале доклада. Мы значительно уменьшим дополнительное потребление памяти и также сможем сделать CodeRush намного быстрее. На данный момент версия CodeRush, использующая Roslyn находится еще в ранней стадии. Мы планируем в следующем году выпустить первую версию. И дальше будем наращивать набор функционала и постепенно переводить все больше и больше фич из CodeRush.
  20. Спасибо за внимание.