[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Среды разработки



16.10.2012 22:27, Alexander Galanin пишет:
> On Tue, 16 Oct 2012 21:53:38 +0400
> "Артём Н." <artiom14@yandex.ru> wrote:
>> Мне надо:
>> 1. Написать. Удобно, быстро с отступами и подстановками. Создать интерфейс.
> Хороший текстовый редактор. А их всего два.
> 
>> 2. Собрать часть и запустить на разных этапах (не переписывая Makefile, при
>> добавлении модуля).
>> 6. Проверить модуль с разными наборами данных.
> Unit testing.
> 
>> 3. Попасть на строку, на которой программа вывалилась (именно на ошибку, а не на
>> warning).
> Команда «:номер-строки» в виме. При компиляции из самого вима оно
> перескакивает автоматом.
> 
>> 4. Посмотреть переменные в этом месте. Посмотреть подсказки (не просто
>> Segmentation fault).
>> 5. Пройти дальше на шаг, поменять значения переменных. Изредка посмотреть
>> дизассемблерный листинг.
> 
> Это делает gdb. Я даже ставил себе clewn для интеграции оного в vim, но
> не прижился он у меня из-за неиспользуемости.
> 
> При правке из отладчика рассматриваемый контекст ограничен одной
> функцией, потому годится для совсем очевидных ошибок. В других же
> случаях решает ошибку долгая медитация над кодом, по сравнению с которой
> 10 секунд на запуск gdb роли не играют.
> 
> Кстати, очень грустно выглядит программист, который в отладчике ловит
> ошибку, проявляющуюся не ранее 135-й итерации цикла. Столько лишних
> нажатий на клавиши.
> 
>> 7. Проверить программу на утечки, использование неиниц. переменных, обращения за
>> границы и прочее. Мне нужна строка, где происходит обращение. И подсказка: куда
>> и кем.
> valgrind. Он очень практично совмещается с unit-тестами.
> 
>> 8. Сохранить изменения и записать версию.
> 
> hg ci в терминале. Ну или прямо из вима. Можно и с окошком.
> 
>> Я уж не говорю о интеграции с какой-то CASE-фигнёй или штукой уровня выше (тут
>> как-то писали про cucumber)...
>> И ещё много что.
> 
> Говорить надо о том, что используется, а не баззворды с конференций
> повторять.
И главный вопрос: как всё это интегрировать, чтобы оно каждый раз запускалось
автоматически, и не приходилось всё перенастраивать для каждого проекта?


Reply to: