Ведете переход от классического ASP к ASP.NET, совет? - PullRequest
3 голосов
/ 01 февраля 2010

Итак, я только начал работать в новой компании, у которой 99% их кода написано на классическом ASP (большая часть написана плохо), и одна из причин, по которой они наняли меня, заключалась в том, что я работал с ASP и ASP.NET в прошлое. Опыт ASP.NET был VB.NET, но я работал с C # в колледже, но я предпочитаю его только потому, что в прошлом я много работал с PHP, и когда я не фокусируюсь, я просто начинаю набирать синтаксис C и получаю У меня было много случаев здесь, в ASP, где я заканчивал строки точкой с запятой просто по привычке, и мне приходилось возвращаться и удалять их.

Но я отвлекся, в основном я просто не обладаю знаниями, которые мне нужны, чтобы принимать лучшие решения в отношении вещей, записал некоторые ключевые процессы, по которым я хотел бы получить совет:

  • Контроль версий - по правде говоря, я никогда этим не пользовался. Сам по себе у меня просто не было того момента, чтобы заставить меня его использовать, а магазины, в которых я работал, всегда просто бросали на ветер. Хотелось бы знать, что вы все думаете, я должен использовать, насколько серверная часть и
  • Локальная среда разработки - Возможно, я просто быстро Google, но я хочу настроить локальную среду разработки, чтобы я мог тестировать вещи без необходимости сначала отправлять их по FTP
  • Pushing Changes Live - Я никогда не понимал шаг между проверкой чего-либо в контроле версий и просмотром в реальном времени, есть ли какая-то автоматизированная система, которая может работать, эй, я вижу, что вы зарегистрировались, позвольте мне увидеть, что отличается между этой и живой версией и отправить затронутые файлы "- возможно, просто отсутствие понимания vc всего вместе: (
  • IDE - Загрузка VS2010 Beta 10 сейчас, в надежде, что она стабильна
  • MVC.NET - Легко ли забрать? Я всегда ненавидел саму концепцию веб-форм, казалось, что она в конечном итоге не подходит для Интернета, который развивается в остальном мире
  • Что-нибудь еще - Как я уже сказал, я относительно новичок в этом стеке, поэтому я хотел бы получить любой совет, который я могу получить на раннем этапе, чтобы избежать "дерьма, я хотел бы знать это 3 месяца назад" моменты

РЕДАКТИРОВАТЬ: Принимая советы и делая это сообщество вики

Ответы [ 5 ]

2 голосов
/ 01 февраля 2010

Я собираюсь сосредоточиться на управлении версиями и отслеживании проекта здесь. Среды разработки для ASP.Net хорошо документированы.

  • Контроль версий - я использую SVN (контроль версий) с Tortoise SVN (интеграция с Windows-клиентами) и Trac (отслеживание проекта). SVN и Trac работают на Apache (веб-сервер).
  • Отправка изменений в реальном времени - зафиксируйте свои изменения в SVN на своем компьютере разработчика, выполните обновление SVN на своем тестовом сайте, чтобы получить последние изменения из репозитория, запустите тесты, а затем выполните обновление SVN на рабочем сайте. *
  • Все остальное - в этой схеме Apache, Subversion и Trac будут работать на сервере, который НЕ является вашей машиной разработки, и, надеюсь, (но не обязательно) также не тем же сервером, на котором работает ваш производственный IIS.

Выезд: HTTP-сервер Apache: http://httpd.apache.org/ Subversion: http://subversion.apache.org/ Черепаха СВН: http://tortoisesvn.tigris.org/ Trac: http://trac.edgewall.org/

2 голосов
/ 01 февраля 2010

Контроль версий:

Обязательно посмотрите SubVersion, он бесплатный, мы используем платный хостинг под названием Assembla (www.assembla.com), но вы можете установитьсервер в вашей сети.Самый популярный клиент называется TortoiseSVN (http://tortoisesvn.tigris.org/), он также бесплатный. Вы также можете взглянуть на VisualSVN (http://www.visualsvn.com/), который интегрирован в VS IDE, их сайт также имеет удобную установку сервера SVN.

Local Dev Environment

Локальный IIS или встроенный веб-сервер VS в VS оба в порядке, я думаю, это действительно до предпочтения. Открытие веб-сайта (File-на основе системы), а не на основе IIS, кажется, работает хорошо для нас.

Push-изменения Live

ASP очень постраничная разработка и не требует компиляции, копированияФайлы до тестового или рабочего сайта довольно просты. В зависимости от того, как вы компилируете / публикуете свой сайт asp.net, вам нужно будет подумать о том, как вы компилируете код библиотеки и публикуете свое веб-приложение / веб-сайт.

Iрекомендовал бы начать с использования SVN для фиксации изменений и обновления тестовых / производственных сайтов.

IDE:

Я бы порекомендовал обновить его до последней бета-версии.версию VS2010 и используйте ее.

Что-нибудь еще:

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

Рассмотрите возможность принятия существующегоFramework, используйте ORM или Business Objects, возможно, даже используйте Code-Generation.Взгляните на CodeSmith, с ним связаны различные фреймворки ORM / Business Object.(они будут использовать различные методы и технологии в .net framework, которые вам необходимо изучить)

Посмотрите на базовую структуру сайта:

Рассмотрите asp.net WebForms (Приложения)или MVC (веб-сайты) [да, это очень простой анализ различий]

Членство на сайте и разрешения: посмотрите на MembershipProvider, RoleProvider и создайте свою собственную.

Файловая система: Подумайте, как и где вы будете загружать файлы.

Разделите пользовательский интерфейс на многократно используемые элементы управления.

HTH, Удачи, у вас много дел ...

2 голосов
/ 01 февраля 2010

Ничего себе. Здесь много вопросов:

Контроль версий - Посмотрите на Subversion и Git. Они представляют собой два вида управления версиями, вам может понравиться один больше, чем другой. Git бесплатен для проектов с открытым исходным кодом.

Local Dev Environment - Я бы рекомендовал использовать встроенный веб-сервер в Visual Studio. Вы можете щелкнуть правой кнопкой мыши страницу в обозревателе решений и сказать «просмотр в браузере». Затем он просто скомпилирует его и откроет экземпляр локального веб-сервера.

Pushing Changes Live - Я не собираюсь давать здесь советы. Кто-то умнее меня, безусловно, сделает это.

IDE - Да, просто придерживайтесь текущей версии Visual Studio. Если у вас нет активных (платных) проектов, я думаю, что VS2010 - хорошая идея, потому что он поддерживает новейшие будущие функции asp.net, и к тому времени, когда вы их изучите, он, вероятно, будет в любом случае опубликован. .

Все остальное - Стоит (с точки зрения работы) знать, входить и выходить из веб-форм. Но я бы настоятельно рекомендовал изучить ASp.Net MVC (если по какой-либо другой причине, кроме «это веселее»).

Прочитав ответ Марка Редмана, он кое-что вызвал для меня. Я бы порекомендовал (как и он), чтобы вы исследовали какую-то ORM . Я использую SubSonic и мне это очень нравится. Но есть много вариантов.

Это мои 2 цента.

1 голос
/ 01 февраля 2010

Одна вещь, которую нужно принять во внимание, это в основном переход от классического ASP к ASP.NET примерно такой же, как переход с COBOL на ASP.NET. В основном все должно быть полностью переписано (особенно, как вы сказали, в исходной кодовой базе были плохие методы разработки)

Контроль версий: Определенно используйте его, есть также Team Foundation Server, который, если вы можете убедить компанию в ценности покупки вами подписки MSDN TFS, включен без дополнительной платы для 5 или менее пользователей.

Актуализация изменений: В настоящее время я использую проекты веб-развертывания (не уверен, что они совместимы с VS2010), TFS также является сервером сборки, у меня просто не было времени, чтобы установить ответственность за это , Если вы в полной мере используете преимущества TFS, я бы также рекомендовал изучить инструмент непрерывной интеграции (CI), аналогичный TeamCity или CruiseControl Jetbrains и т. Д.

Местная среда разработки : Получить Resharper Jetbrains ! Это самый важный инструмент номер один для разработки программного обеспечения в .NET, уступающий только самой Visual Studio!

Что-нибудь еще: Изучите дженерики и лямбда-выражения / деревья выражений, которые являются неотъемлемой частью правильной разработки программного обеспечения в .NET, и оба - от умеренных до чрезвычайно сложных тем (IMO).

0 голосов
/ 08 июля 2012

Контроль версий : я вижу много рекомендаций SVN, но ... они просто устарели. Используйте GIT или Mercurial. Они объединяют алгоритмы более надежны. Они быстрее и безопаснее, потому что они распределены. Они более гибкие - вы можете создать модель рабочего процесса, которая будет хорошо подходить вашей компании, в то время как в основном есть один способ использования SVN.

Отправка изменений в реальном времени : После того, как у вас есть контроль версий, вам нужно создать сервер непрерывной интеграции, который неоднократно проверяет хранилище и выполняет автоматическую сборку. Вы можете получить немедленную информацию о том, кто и где допустил ошибку. Вы можете заставить эту сборку выполнять любые действия: выполнять статический анализ кода, модульные тесты, развертывание. Вы можете сделать несколько сборок - одну, автоматическую, которая собирает проект и развертывает его в среде тестирования. И еще один, запускаемый вручную, который будет развернут для жизни. Я работал с Hudson, Jenkins, CruiseControl.NET, TeamCity и нашел TeamCity как наиболее удобный инструмент из этих четырех.

Local dev env : во многих случаях Althoug IIS Express (встроенный в Visual Studio) работает нормально, вам нужно знать, чем он отличается от «реального». Я просто рекомендовал бы использовать полный IIS 7.

IDE : Visual Studio + Resharper + Блокнот ++ + LINQPad.

Что-нибудь еще : Есть некоторое программное обеспечение для отслеживания ошибок / планирования. Даже так просто, как http://www.trello.com,, но используйте его. Мой любимый это http://www.pivotaltracker.com

Включите проверку кода в рабочий процесс. http://www.reviewboard.org может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...