Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Моя работа в настоящее время использует главным образом процесс сборки OSS с Круиз-контролем как механизм, и это является большим. Я предположил бы, что, если бы Вы не знаете, почему Вам был бы нужен TFS, это, вероятно, не стоит стоимости.
Вещь, которую необходимо иметь в виду с материалом OSS, состоит в том, что программное обеспечение или использовалось командой Java в течение многих лет ранее, или программное обеспечение является портом подобного кода Java. Это устойчиво и подходит для цели.
Microsoft не может поставить код OSS, который является, почему они должны повторно реализовать много материала С открытым исходным кодом. Так, нет, это не необходимо, и были миллионы проектов, поставленных на том стеке. Оборот - то, что существует также много хороших функций, которые Вы получаете с TFS, который Вы (легко) не получите со стеком OSS, таким как интеграция с Вашим программным обеспечением отслеживания ошибки/функции.
Я думаю, что TFS стоит того для всех дополнительных функций, упомянутых в вышеупомянутых сообщениях. Это - непрерывная функциональность сборок, серьезно недостает хотя, таким образом, мы увеличиваем ту часть с помощью CruiseControl.NET, который является потрясающим. Единственная причина, которую мы выбрали бы против TFS, если бы мы должны были сделать это прямо сейчас, состоит в том, что мы перемещаемся в кросс-платформенную разработку наших продуктов. Таким образом, если Вы даже думали об этом, думайте OSS. Subversion/Trac был бы моей любимой комбинацией тот путь с CruiseCOntrol.NET, все еще являющимся магистралью. CC.NET с помощью моно работ хорошо над Linux и Mac.
Мы постепенно создавали стопку разработки здесь, мы в настоящее время используем:
Я сильно согласился бы с точкой зрения, что только стоит использовать TFS, если Вы знаете точно, для чего Вы нуждаетесь в нем. ОСНОВАННЫЕ НА OSS, дешевые или свободные дополнения как Визуальный SVN и TestDriven. Сеть так хороша, что интеграция с VS уже является бесшовной.
Я думал, что брошу в новом свете, который может быть взят с мелкой частицей соли, потому что я еще не попробовал ее, но я планирую использование, Укушенное для CI в предстоящем проекте. Это работает на Trac+SVN, оба больших инструмента, которые я использовал для многих проектов успешно.
Я видел обоих в действии (хотя я - Java-разработчик). Позитивные аспекты от выбора и подхода соединения - то, что можно выбрать лучшие биты для всего (например, я проверил бы Гудзон для CI - его превосходное для Java, работы для .NET также и имею загрузки плагинов и действительно прост в использовании). Оборотная сторона - то, что необходимо сделать всю интеграцию сами. Однако это становится намного легче в мире Java. Кроме того, Дон; t позволяют людям сказать Вам, что поддерживаемый продукт лучше. На многих продуктах OSS в этом пространстве качество превосходно, и Вы получаете лучшую поддержку со стороны cimmunity вместо того, чтобы ожидать ответа из контракта на поддержку Вашего поставщика (IBM, я смотрю на Вас),
Надеюсь, это поможет.
Реальная выгода использования TFS по сравнению с отдельным набором инструмента OS является интеграцией различного потока доступной информации.
* Создают требование и вставляют в TFS
* Создают ряд задачи, связывающей их с требованием, и присваивают их различным разработчикам
* в Каждой работе разработчика над его задачей и регистрации, присваивая задачу changeset зарегистрировались
* исправление ошибки входит, также в этом случае, массив изменений будет скоординирован с запросом исправления ошибки, и можно также отобразить исправление ошибки на исходное требование
После того, как сделанный эта вся информация может использоваться, чтобы отследить проект и сделать оценку о работе, как, например, сколько изменений исправление ошибки вызвало, которые являются требованием, которое генерировало больше ошибок или запросов на изменение и так далее.
Вся эта информация очень полезна в средних и крупных организациях и, от того, что я вижу теперь, не являюсь возможным (или очень трудным) отслеживать интегрирующиеся различные инструменты OS.
Подверсия + Cruisecontol. Сеть является хорошей альтернативой. SVN, многофункционально, стабилен и гибок.
Наша компания использует CruiseControl/SVN/nAnt/JIRA комбинацию с большим успехом.
Недопустимое с TFS - то, что это только стоит того для более крупных компаний. Это будет ужасно дорого для небольших компаний с 30 или меньше разработчиками, которые уже извлекли бы выгоду значительно из вышеупомянутой комбинации с открытым исходным кодом.
Мы посмотрели на TFS, но закончили тем, что шли с Подверсией + Trac + VisualSVN. Мы не делаем, CI прямо сейчас, но Cruisecontrol был бы тем, что мы будем использовать, я думаю.
Я начал использовать Trac с многочисленными проектами с открытым исходным кодом, и это - великое. Это - действительно только часть того, что делает TFS, таким образом, необходимо будет принять решение там - при использовании всего TFS, вероятно, делает лучшее задание связывания всего этого. Trac является браузером средства отслеживания/источника Wiki/ошибки. Все связано - когда Вы вводите от имени WikiPage или говорите, "Исправляют ошибку № 1234" в сообщении о фиксации, каждый раз, когда Вы видите, что сообщение в Trac ссылки переходит к правильным местам. Это - инструмент, который помогает Вам сделать свое задание и но остается вне пути, обычно.
VisualSVN является большим мостом между TortoiseSVN (клиент Подверсии) и VisualStudio, и значительно улучшает производительность. У них есть бесплатная демонстрационная версия, и это не очень дорого впоследствии ($50/пользователей), но хорошо стоит.
Одна возможная оборотная сторона к Trac находится в мире Windows, это - боль для получения работы над IIS. Я много раз устанавливал Trac, но был расстроен, быстро пытаясь получить его работающий правильно. Я закончил тем, что установил Apache на другом IP (мог также использовать другой порт), и затем это было бесшовным.
За исключением одного человека в моей команде (у кого был крошечный бит опыта), никто никогда не использовал подверсию прежде. Пара использовала VSS, и это - все. Все были довольно скептически настроены, но я скажу в течение нескольких дней, что они были всеми, преобразовывает. После полностью изучения Trac и привыкания ко всему (несколько дней больше), все полностью продаются и любят его.
Я был ежедневным пользователем TFS в течение приблизительно 1,5 лет теперь.
Если Вы используете TFS, удостоверяются, что Вы устанавливаете VSTS2008SP1. Подавляющее большинство людей, я видел жалобы на регистрацию, использует версию 2005 года. 2005 является классическим синдромом "Microsoft 1.0". Было МНОГО проблем, которые были решены 2 более поздними "версиями".
Пакет обновления на 2008 не является просто исправлением ошибки - но и добавил много новых опций.
До выбора по сравнению с OSS - существует большое обсуждение (здесь и в другом месте). Это не дешевый продукт - но это - лучший выбор для большого количества сценариев (и худшее для других).
Я всегда шел OSS путь и никогда не имел проблемы. Я также настоятельно рекомендовал бы TeamCity для Вашего решения CI. Существует бесплатная лицензия, и я думаю, что уносит CC.NET из воды для простоты конфигурации и обратной связи.
Стек TFS намного больше, чем управление исходным кодом и установка сборки CI / ночная установка сборки. Думайте об управлении проектами, отчетах об ошибках, и все это составляет в целом что-то большее чем просто CruiseControl, SVN и NAnt. Просто одни только отчеты могли бы стоить инвестиций. И также помните это, если Вы - партнер/и т.д. по золоту подписчика/НЕЗАВИСИМОГО ПОСТАВЩИКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ MSDN. Вы могли бы получить часть этого для свободного...
TFS2010 имеет TFS Basic, который ничего не стоит (сверх вашей подписки msdn / лицензии Visual Studio). Он ограничен одной лицензией на VS, но вам нужны дополнительные лицензии только для пользователей, не являющихся VS
. Автоматизация пользовательского интерфейса в VS2010 сама по себе делает TFS победителем над объединенными решениями с открытым исходным кодом