Support огромного проекта.
От: Аноним  
Дата: 22.08.06 12:12
Оценка:
Здравствуйте.
Возможно вам приходилось супортить огромный проект, в котором вы ничего ещё не знаете.
Обычно это превращается в постоянный грэп по солюшину.
Люди, работающие в линукс используют для этого cscope.
cscope сторит базу по сорцам, и позволяет с большой скоростью отыскивать функции или просто делать grep.

Обычно это помогает. Но. Если поиск занимает много времени (даже с проиндексированной базой), то повторять его
смысла нет — можно просто запомнить результат.

Для тех кто использует vim в качестве редактора сорцов может спасти
скрипт
http://www.vim.org/scripts/script.php?script_id=1638

Но что делать тем, кого vim не устраивает?.
Какими тулзами пользоваться для быстрого (быстрого!!!) перемещения по
огромному проекту ?
В Visual Studio есть что-то типа <Go to definition(declaration)>, но
что делать с поиском по строке или по греп паттерну?

22.08.06 21:25: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Support огромного проекта.
От: Roman Odaisky Украина  
Дата: 22.08.06 12:59
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>В Visual Studio есть что-то типа <Go to definition(declaration)>, но

А>что делать с поиском по строке или по греп паттерну?

Ээээ...

Ctrl+Shift+F (Find in Files), Use — Regular Expressions? Там, правда, синтаксис свой собственный и очень корявый (нет «?», например).

Насколько проект «огромный»? В solution на 0,4 MLOC поиск по if|e[ls][ls]e|wh.le занял 10 секунд.

P. S. Все знают, почему grep так называется? Это команда ed (vi тоже) — g/re/p, где re — Regular Expression
До последнего не верил в пирамиду Лебедева.
Re[2]: Support огромного проекта.
От: Аноним  
Дата: 22.08.06 13:24
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Ctrl+Shift+F (Find in Files), Use — Regular Expressions? Там, правда, синтаксис свой собственный и очень корявый (нет «?», например).


RO>Насколько проект «огромный»? В solution на 0,4 MLOC поиск по if|e[ls][ls]e|wh.le занял 10 секунд.


Проект размером более 300 Mb. И простой поиск (Find in Files) занимает более 10 минут.
Через базу cscope — 10-30 секунд.
Re[3]: Support огромного проекта.
От: kan_izh Великобритания  
Дата: 22.08.06 13:48
Оценка:
Аноним wrote:

> RO>Ctrl+Shift+F (Find in Files), Use — Regular Expressions? Там, правда,

> синтаксис свой собственный и очень корявый (нет «?», например).
>
> RO>Насколько проект «огромный»? В solution на 0,4 MLOC поиск по
> if|e[ls][ls]e|wh.le занял 10 секунд.
>
> Проект размером более 300 Mb. И простой поиск (Find in Files) занимает
> более 10 минут.
> Через базу cscope — 10-30 секунд.
может doxygen поможет?
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Support огромного проекта.
От: Аноним  
Дата: 22.08.06 14:07
Оценка:
Здравствуйте, kan_izh, Вы писали:

_>Аноним wrote:


>> RO>Ctrl+Shift+F (Find in Files), Use — Regular Expressions? Там, правда,

>> синтаксис свой собственный и очень корявый (нет «?», например).
>>
>> RO>Насколько проект «огромный»? В solution на 0,4 MLOC поиск по
>> if|e[ls][ls]e|wh.le занял 10 секунд.
>>
>> Проект размером более 300 Mb. И простой поиск (Find in Files) занимает
>> более 10 минут.
>> Через базу cscope — 10-30 секунд.
_>может doxygen поможет?

Да. Согласен — помогает, но поиск по строке (не имени класса и функции) всё равно остаётся
открытым.
Есть в студии возможность умных закладок, чтобы был файл с
именами других файлов и номеров строк, и можно было по ним переходить
и добовлять новые?
не F2 (CtrlF2) или CtrlK-CtrlN , а имено список в чистом виде.

Или сохронять куда-то результаты поиска, чтобы они потом не перекрывались
повторным поиском.
Re[5]: Support огромного проекта.
От: Cyberax Марс  
Дата: 22.08.06 14:18
Оценка:
Аноним wrote:
> Да. Согласен — помогает, но поиск по строке (не имени класса и функции)
> всё равно остаётся открытым.
Google Desktop Search умеет искать по строкам, но регулярные выражения
ему не по зубам.

> Есть в студии возможность умных закладок, чтобы был файл с

> именами других файлов и номеров строк, и можно было по ним переходить
> и добовлять новые?
> не F2 (CtrlF2) или CtrlK-CtrlN , а имено список в чистом виде.
ctags примерно это умеет. Можно попробовать его к Студии через макросы
прикрутить.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[6]: Support огромного проекта.
От: Аноним  
Дата: 22.08.06 14:33
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Аноним wrote:

>> Да. Согласен — помогает, но поиск по строке (не имени класса и функции)
>> всё равно остаётся открытым.
C>Google Desktop Search умеет искать по строкам, но регулярные выражения
C>ему не по зубам.

>> Есть в студии возможность умных закладок, чтобы был файл с

>> именами других файлов и номеров строк, и можно было по ним переходить
>> и добовлять новые?
>> не F2 (CtrlF2) или CtrlK-CtrlN , а имено список в чистом виде.
C>ctags примерно это умеет. Можно попробовать его к Студии через макросы
C>прикрутить.
Не думаю что ctags — это то что надо. Насколько я эту программу понимаю — она
тоже строит индексы для отыскания функций и классов.
А вот насчёт макросов в студию — это вариант.
Узнать только бы как туда плагины крутить.
Re[7]: Support огромного проекта.
От: Cyberax Марс  
Дата: 22.08.06 14:41
Оценка:
Аноним wrote:
> C>ctags примерно это умеет. Можно попробовать его к Студии через макросы
> C>прикрутить.
> Не думаю что ctags — это то что надо. Насколько я эту программу понимаю
> — она тоже строит индексы для отыскания функций и классов.
Торможу. Действительно, ctags поможет только для навигации.

> А вот насчёт макросов в студию — это вариант.

> Узнать только бы как туда плагины крутить.
Жмешь в Студии alt-f11 и пишешь
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re: Support огромного проекта.
От: Аноним  
Дата: 22.08.06 14:42
Оценка:
А VisualAssitant тут не помжет?
Я только благодаря ему могу быстро ориентироваться в новом не известном коде.
Re[2]: Support огромного проекта.
От: Аноним  
Дата: 22.08.06 14:49
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А VisualAssitant тут не помжет?

А>Я только благодаря ему могу быстро ориентироваться в новом не известном коде.

Да! Штука — просто класс. Но.
Попробуй ёё на большой проект натравить.
Но и для отыскания класса, метод которого ты видешь — ассист — прикольный вариант. А когда метод не видишь, а его
надо найти.

И в принципе шас постараюсь переформулировать вопрос.

Кто знает как прикрутить cscope к студии, с сохранением cscope результатов
и перемищениям по ним.
Чтобы было примерно как в плагине к vim
http://www.vim.org/scripts/script.php?script_id=1638
Re[7]: Support огромного проекта.
От: jazzer Россия Skype: enerjazzer
Дата: 22.08.06 16:07
Оценка:
Здравствуйте, Аноним, Вы писали:

>>> Есть в студии возможность умных закладок, чтобы был файл с

>>> именами других файлов и номеров строк, и можно было по ним переходить
>>> и добовлять новые?
>>> не F2 (CtrlF2) или CtrlK-CtrlN , а имено список в чистом виде.
C>>ctags примерно это умеет. Можно попробовать его к Студии через макросы
C>>прикрутить.
А>Не думаю что ctags — это то что надо. Насколько я эту программу понимаю — она
А>тоже строит индексы для отыскания функций и классов.

ctags просто создает файл тегов, которые ты уже будешь юзать как хочешь.
В основном редакторы в юниксе умеют с ним работать (типа emacs, vi и nedit).
Не знаю, правда, может ли что-то с ним делать студия...
Формат файла тегов очень простой и довольно гибкий, и ты вполне можешь генерить его руками, дописывая все, что нужно, в том формате, в котором нужно, при помощи тех же студийных макросов, и иметь этих файлов несколько, подключая те, которые нужны (например, так умеет работать nedit).
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Support огромного проекта.
От: dr.Chaos Россия Украшения HandMade
Дата: 23.08.06 05:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>А VisualAssitant тут не помжет?

А>>Я только благодаря ему могу быстро ориентироваться в новом не известном коде.

А>Да! Штука — просто класс. Но.

А>Попробуй ёё на большой проект натравить.
А>Но и для отыскания класса, метод которого ты видешь — ассист — прикольный вариант. А когда метод не видишь, а его
А>надо найти.

BeSweet

Интересный адд-ин. Есть у него несколько броузеров, как в еклипсе. На больших проектах не пробовал . Есть поиск по имени класса, есть поиск по имени функции, есть броузер иерархии, но на множественном наследовании с шаблонами может завернуться. В общем попробуй, может понравиться.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.