2008-09-17 5 views
5

Я перестраиваю наше плохо разработанное веб-приложение с нуля, и хотел попасть в TDD и в основном «сделать все правильно» как своего рода учебный проект. Какие инструменты, процессы и ресурсы рекомендуется делать «правильно» с самого начала? Я буду работать один, как архитектор и разработчик, с резервным копированием бизнес-аналитика и владельцев бизнеса для тестирования удобства использования и использования.Каков наилучший процесс для нового веб-приложения ASP.NET с нуля?

EDIT: Прямо сейчас мы используем SourceSafe для управления исходным кодом, есть ли какая-либо причина технологически, что я хочу попытаться заставить нас переключиться на подрывную деятельность?

EDIT # 2: Похоже, консенсус: Cruise Control.NET Subversion (если я хочу прекратить использование SourceSafe) ASP.NET MVC NUnit для модульного тестирования ReSharper

ответ

5

Я настоятельно рекомендую что вы посмотрите на MVC for ASP.NET, если вы хотите сделать модульное тестирование высокоприоритетным в своем процессе разработки. Похоже, он идеально подходит для того, что вы пытаетесь сделать.

Я бы также рекомендовал CruiseControl.NET для непрерывной интеграции (это важно, если ваша команда будет расти).

Subversion - моя любимая система управления версиями, когда я работаю над небольшими командами. Используйте Tortoise SVN для интеграции с Windows Explorer.

1

Мы используем установку с Visual Studio 2008, Resharper 4.1, Subversion для sourcecontrol, Круиз-контроль для автоматизированных сборок и сборку модульных тестов для всех наших автоматических тестов. и Linq2Sql для отображения. Вы можете поменять что угодно, кроме VS (очевидно) и resharper (это так здорово), но вы можете легко использовать другой инструмент для управления sourcecontrol, mapper или unit.

1

Вот некоторые инструменты, которые могут сделать его проще и безопаснее работать (погуглить имена будут воспитывать соответствующие страницы):

Subversion - контроль Источник
NUnit - рамочное Тестирование
CruiseControl.NET - Автоматизированная builds

1

Visual Source safe имеет строгую политику блокировки, так что только один человек может работать с файлом за один раз ... CVS или subversion позволяет нескольким пользователям работать в одном и том же файле одновременно.

+0

Итак, если я работаю один, это не имеет большого значения, но это станет так, когда я получу нового разработчика, нанятого для работы под/со мной, да? – 2008-09-17 19:19:20

+0

Есть много больших команд, которые используют SourceSafe. Если члены вашей команды работают с различными компонентами системы, где они редко пересекаются, это не будет проблемой. Вы можете придерживаться его до тех пор, пока не возникнет проблема, а затем сделайте переключатель. Мое личное предпочтение - SVN. – JasonS 2008-09-18 17:15:30

+0

Есть опция Разрешить несколько проверок в SourceSafe – 2009-03-05 12:36:59

1

Все предложения здесь хороши, но нет волшебной пули. Вам нужно будет посмотреть, насколько велико ваше приложение, сколько пользователей, как оно развернуто и т. Д., Чтобы сделать вашу архитектуру, процесс, набор инструментов и другие решения. TDD, например, является хорошей методологией, но не единственной хорошей методологией для «правильного ведения дел». Еще один, CruiseControl - это потрясающе, но в одном проекте разработчика это, вероятно, слишком велико.

Будьте последовательны в том, что вы делаете, это мое лучшее предложение - если вы идете с TDD, Идите с TDD, если знаете, что я имею в виду.

+0

Я знаю, что нет «волшебной пули», я ищу здесь несколько предложений от других за то, что хорошо послужило им в прошлом. Я планирую принять эти БОЛЬШИЕ предложения и сесть и сделать кучу исследований и разработать лучшую стратегию для меня и моего проекта. – 2008-09-17 19:25:37

2

Ответ на ваш вопрос управления источником ...

Перестройка приложение с нуля, вероятно, будет проект трудоемкий, я бы не тратить время на изменение системы управления версиями, если вы уже не знаете, какой именно один вы будете использовать и иметь опыт настройки.

Visual SourceSafe выполняет свою работу, особенно в усилиях 1 человека, и его уже на месте, поэтому бегите с ним.

0

Если вы только начинаете, я бы изменил как можно меньше (тем более, что вы единственный разработчик), поэтому придерживайтесь Sourcesafe. В вашей ситуации нет абсолютно ничего плохого.

Позже, вы можете посмотреть в MS Team System или, возможно, пойти на другие инструменты сторонних разработчиков.

Лично я не являюсь поклонником Subversion, но я признаю, что это популярный инструмент в отрасли.

Что касается программного обеспечения, специфичного для TDD, я не могу предложить никаких советов. Вы предпочитаете инструменты для UML или любые формальные методы, которые вы используете?

0

Следует упомянуть: будьте на 100% уверены, что понимаете, что делает программа и что она должна делать, прежде чем делать какие-либо изменения. «Плохое» программное обеспечение часто оказывается «не так уж плохо» после понимания всей ситуации.

Sourcesafe может быть хорошо, особенно для одного человека, но когда там будет все больше и больше госзакупок на команде, модель замка может раздражать, но за время бытия: придерживаться

1

Мы переписывали наш сайт, как вы делаете, и мы используем C# с MVC. Здорово. Мы используем Microsoft SourceSafe для управления нашим кодом, и он работает потрясающе. Поскольку вы единственный разработчик, это будет зависеть от того, что вам нравится.

Исходный сервер Microsoft позволяет нам создавать ветку, от которой мы можем работать, может находиться под контролем источника, и мы можем легко переключаться между ними. (Я действительно не использовал subversion для многих, поэтому я не могу комментировать его.)

Мы используем NUnit для тестирования/извлечения нашего кода. Это супер легко издеваться над ними. Мы создали класс, который будет сохранять и читать объекты.

Функция сохранения: Stream stream = File.Open (simplePath, FileMode.OpenOrCreate); BinaryFormatter bwriter = new BinaryFormatter(); bwriter.Serialize (поток, фактический);

Функция чтения: Stream stream = File.Open (simplePath, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter bwriter = new BinaryFormatter(); объект returnObject = bwriter.Deserialize (поток);

Мы использовали NUnit для издевательства xml и SQL.

Успехов

1

Если вы собираетесь создать свежий экземпляр подрывной и непрерывной интеграции, начиная с зеленым фоном ВСС, эти две бесплатные пакеты, скорее всего, сэкономит вам дней (или недель) времени:

  • Visual SVN Server Устанавливает все необходимое для сервера диверсии, включая Windows AD AUTH и GUI администратора. Бесплатно, вы можете подумать о поддержке своего превосходного дополнения VisualSVN VS для интеграции управления версиями в Visual Studio.В качестве альтернативы можно посмотреть на AnkhSVN

  • TeamCity A Continuous Integration пакет (альтернатива CruiseControl.NET) от JetBrains (мейкерами ReSharper, фантастический инструмент, как уже упоминалось), которая является свободной для профессиональной версии (до 20 пользователей и 3 сервера сборки).

Эти два пакета являются одними из самых легких устанавливает вокруг, бросая вызов самой VSS :-)

Использование SVN может занять немного корректировки; но с отличным doco для любого выбранного вами клиента (AnkSVN, VisualSVN, TortoiseSVN или некоторая комбинация), все будет в порядке.

Кроме того, вы знаете, где найти людей, жаждущих ответить на любые вопросы, которые вы могли бы иметь в обмен на Rep ;-)

1

TypeMock Отъезд или Rhino Mocks. Mocking может сэкономить вам столько времени и боли, когда вы будете тестировать веб-приложение.