Поговорим о производительности

Marat Dukhan (Intel) (6 пост(а)) 06.07.2009 15:02

Когда на ISN речь заходит о производительности, обычно имеют в виду производительность процессора, памяти или видеокарты. Но этот пост будет о другой производительности — о производительности программиста. Я хочу рассказать о паре полезных "фич" Visual Studio, которые, как мне кажется, не слишком известны, но весьма полезны для программистов.
Первая полезная фича Visual Studio, появившаяся ни то в 2003, ни то в 2005 версии — это автоматическое форматирование исходного текста. Работает просто: выделяем кусок кода, нажимаем Ctrl+K и, не отпуская клавишу Ctrl, тут же Ctrl+F (можно также выбрать из меню Edit->Advanced->Format Selection, но это слишком долго). В результате выделенный кусок кода приводится к удобочитаемому виду. Особенно полезна эта фича для чтения созданного кодогенератором кода.
Другая полезная фича, — макросы. Про макросы слышали, пожалуй, все программисты, а вот реально их используют — лишь немногие. И это очень зря! Допустим, у нас есть кусок кода следующего содержания:

std::cout << "VariableA = " << variableA << std::endl;
std::cout << "VariableB = " << variableB << std::endl;
std::cout << "VariableC = " << variableC << std::endl;
...

И в какой-то момент времени нам захотелось выводить не только значение переменной, но и её тип. Сложный способ добиться этого — вручную изменить каждую строку и при этом постараться не сделать ошибок, которые не выловит компилятор. Простой способ заключается в использовании макросов. Сначала нужно установить курсор на начало первой строки. Как-то так:

Istd::cout << "VariableA = " << variableA << std::endl;
...

Теперь нужно нажать магическую комбинацию клавиш Ctrl+Shift+R (или выбрать в меню Tools->Macros->Record Temporary Macro). Теперь Visual Studio будет запоминать всё, что вы будете делать. Затем, с помощью обычного Copy & Paste нужно привести первую строчку к желаемому виду, например такому:

std::cout << "VariableA = " << variableA << ", typeof VariableA is " << typeid( VariableA ).name() <<I std::endl;
...

Обратите внимание, что имя переменной VariableA нужно не набирать с клавиатуры, а копировать из другого места этой строки. Для навигации внутри строки лучше пользоваться не обычными стрелками на клавиатуре, а комбинацией Ctrl+стрелка — в этом случае курсор будет перемещаться сразу на следующее слово. Когда первая строка преобразована к нужному виду, нужно переместить курсор на начало второй строки и снова нажать магическую комбинацию клавиш Ctrl+Shift+R, чтобы завершить запись макроса.

std::cout << "VariableA = " << variableA << ", typeof VariableA is " << typeid( VariableA ).name() << std::endl;
Istd::cout << "VariableB = " << variableB << std::endl;
std::cout << "VariableC = " << variableC << std::endl;
...

Теперь достаточно нажать Ctrl+Shift+P и — вуаля — Visual Studio повторит всё, что вы делали для первой строки со второй строкой, а затем переместит курсор на начало третьей строки. Таким образом, любой исходник, сколь бы большим он ни был, можно обработать за десяток секунд.

А как повышаете свою производительность вы?

Категории: Intel Software Network, Разработка софта

Комментарии (3)

06.07.2009 06:30

ilnarb
Всего баллов:
2,930
Статусных баллов:
2,430
коричневый пояс
С форматрированием проще всего Alt+F8 - приводит в порядок выделенного в соответствии с контекстом, еще поправляет проблелы на табуляции (помогает когда исходники из другого редактора и разьезжаются)

а еще классная фича это поиск выделенного вперед Ctrl+F3 и назад Ctrl+Shift+F3

а вообщемного такого классного можно почитать из блога Сары Форд, на русском http://blogs.msdn.com/rusaraford/
07.07.2009 03:03

Marat Dukhan (Intel)
Всего баллов:
580
Статусных баллов:
80
коричневый пояс
После копания в настройках Visual Studio выяснилось, что Alt+F8 и Ctrl+K+F это одно и то же
08.07.2009 08:17

ilnarb
Всего баллов:
2,930
Статусных баллов:
2,430
коричневый пояс
одно нажатие двух кнопок и два нажатие трех не одно и то же ;)

Обратная ссылка (0)


Оставить комментарий  

To obtain technical support, please go to Software Support.
Имя (обязательно)*

Электронная почта (обязательно; не будет отображено на этой странице)*

Ваш URL-адрес (необязательно)


Комментарий*