Используете ли вы обычные сборки в качестве инструмента кодирования?

2

У нас есть большое (около 580 000 мест) приложение, которое в Delphi 2006 строит (на моей машине) примерно через 20 секунд. Когда у вас есть время сборки в секундах, вы, как правило, используете компилятор в качестве инструмента. то есть написать немного кода, построить, написать еще какой-нибудь код и построить еще несколько и т.д. и т.д. Когда мы переместим некоторые из наших вещей на С#, есть ли у кого-нибудь сравнение того, сколько времени потребуется для создания такого размера? На данный момент у меня есть только небольшие приложения и компоненты, поэтому они не могут сравниться. Если что-то будет занять намного больше времени, то мне может понадобиться изменить мой стиль! Или мой стиль ленив?

Например, если я изменяю интерфейс вызова метода, а не выполняю полный поиск по всему приложению, чтобы узнать, где мне нужно внести изменения в вызовы, я буду использовать компилятор, чтобы найти их для я.

Теги:
performance
compiler-construction

7 ответов

2
Лучший ответ

В Visual Studio 2008 SP1 теперь есть фоновая компиляция для С# (она всегда была для VB.NET). Вернувшись в мои дни VB, я часто использовал это, чтобы найти, где что-то упоминалось, изменив имя, а затем посмотрев, где компилятор фона сказал, что произошла ошибка.

Я никогда не работал над чем-то большим. На моей последней работе у нас было около 60 000 мест, распределенных по 15 проектам, и потребовалось около 10 секунд для компиляции. Возможно, кто-то еще может опубликовать несколько более крупное тематическое исследование.

  • 0
    Delphi 2010 имеет фоновую компиляцию.
  • 0
    Delphi 2010 не имеет фоновой компиляции. Фоновая компиляция означает, что ваше приложение постоянно компилируется по мере ввода текста. Вам не нужно нажимать кнопку «Компиляция», чтобы увидеть ошибки компилятора. Delphi 2010 может компилироваться «в фоновом потоке». Не то же самое.
2

Раньше я использовал компилятор, как вы описали, но поскольку я использовал ReSharper, я делаю это намного меньше. Кроме того, для таких вещей, как переименование, поддержка рефакторинга (как в Visual Studio 2005 вверх, так и даже лучше от ReSharper) означает, что мне не нужно выполнять поиск + замену, чтобы переименовать вещи.

1

Я использую только "Проверка синтаксиса", чтобы узнать, забыл ли я опечатку на коде... И они значительно уменьшены, так как я "Корректор кода" плагина GExperts.

1

Одна вещь, которую вы можете использовать, особенно в настольных приложениях, поскольку, как я полагаю, вы имеете дело с приходом из Delphi, это Edit and Continue. Это позволяет вам изменять фактический код во время работы в режиме отладки. Вы можете изменить практически все, кроме добавления переменных уровня класса, методов или новых классов, и продолжать работать без перекомпиляции вашего проекта.

0

Вы можете разделить приложение на несколько проектов (по слою и/или модулю и/или и т.д.), и вы будете компилировать только проект, где вы действительно работаете.

0

Ну, компилятор не должен так быстро использовать его. Некоторые IDE поддерживают инкрементную компиляцию при каждом сохранении файла или на лету. Это отлично работает.

0

Последняя часть вашего сообщения пугает меня. Я не знаком с другими IDE, но MSDev позволяет найти все ссылки на метод - так что вам не нужно компилировать только для того, чтобы найти все вызовы, которые вы нарушили.

Используйте все, что угодно, но хорошо, что вы открыты для новых способов делать что-то.

  • 0
    Да, я думаю, и вы также можете сделать это в Delphi, просто его компилятор настолько быстр, что я иногда использую его как поисковую систему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню