Сведения о вопросе

PIRLO

10:49, 13th August, 2020

Инструменты, которые помогут маленькому магазину набрать больше баллов на "тесте Джоэла"

Просмотров: 538   Ответов: 14

Вопросы #1 - #4 по тесту Джоэла , на мой взгляд, касаются всех используемых инструментов разработки и системы поддержки для разработчиков:

  1. Вы используете систему управления версиями?
  2. Можете ли вы сделать сборку в один шаг?
  3. Вы делаете ежедневные сборки?
  4. У вас есть база данных об ошибках?

Мне просто интересно, какие бесплатные / дешевые (но хорошие) инструменты существуют для небольших магазинов разработки, которые не имеют больших банковских счетов, чтобы использовать их для получения положительного ответа на эти вопросы.

Для управления версиями я знаю, что Subversion-отличное решение ,и если вы один человек, вы можете даже использовать хранилище SourceGear.

Я использую NAnt для своих более крупных проектов, но еще не настроил скрипт для сборки моих инсталляторов, а также запуска инструментов обфузирования в одном шаге. Есть еще какие-нибудь предложения?

Если вы можете ответить " да " на построение в один шаг, я думаю, что создание ежедневных сборок будет легко, но какие инструменты вы порекомендуете для автоматизации этих ежедневных сборок?

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



  Сведения об ответе

dumai

09:49, 15th August, 2020

  1. управление версиями: Subversion или Mercurial или Git
  2. автоматизация сборки: NAnt , MSBuild, Rake, Maven
  3. непрерывная интеграция: CruiseControl.NET или континуум или Jenkins
  4. отслеживание проблем: Trac, Bugzilla, Gemini (если это должно быть .NET и free-ish)

Не забывайте об автоматическом тестировании с помощью NUnit, Fit и WatiN .


  Сведения об ответе

baggs

21:11, 15th August, 2020

1) подрывная деятельность

2) Ant / Maven

3) континуум

4) Bugzilla / Trac


  Сведения об ответе

#hash

11:53, 4th August, 2020

Мой любимый стек:

1) подрывная деятельность. Я заинтригован распределенным управлением версиями, но у меня еще не было возможности попробовать их в гневе. Для централизованного решения svn является твердым камнем.

2) Ant. Maven-это радость для использования, когда он работает, но как старый хакер ant я нахожу, что maven трудно следовать, когда что-то идет не так.

3) Гудзон. До сих пор не упоминалось, но определенно стоит исследовать. Невероятно удобный и активно обслуживаемый инструмент. PreviousLy мы заплатили за Anthill Pro, который казался хрупким и было больно чинить каждый раз, когда он облажался.

4) мы платим за jira. Не дешево, но гораздо более удобно, чем варианты с открытым исходным кодом, которые мы рассматривали, и очень гибко.


  Сведения об ответе

nYU

17:37, 12th August, 2020

Мой инженерный стек:

  1. Git (я люблю GitHub, но Git не требует размещенного решения)
  2. Грабли
  3. CruiseControl.rb
  4. FogBugz

Несомненно, на этот выбор влияет мой стек разработки, который чаще всего включает в себя Ruby, Rails, SQLite, Firefox и OSX.


  Сведения об ответе

KOMP

17:34, 23rd August, 2020

Возможно, вы захотите взглянуть на существующий у меня вопрос для поиска альтернативы командной системе . Там также есть много рекомендаций.


  Сведения об ответе

crush

11:58, 27th August, 2020

  1. Git
  2. Сделай
  3. Cron
  4. Trac

Я человек с несколькими слогами ;-)

Обязательно используйте какой-то вид контроля версий, где разработчики могут легко создавать частные ветви волей-неволей, а затем взять свою частную ветвь и сжать ее в один коммит на главной ветви. Таким образом, отдельные разработчики-в отличие от организации-могут получить преимущества контроля версий, не загрязняя чей-либо код (и не замедляя свою работу) сломанными коммитами.

Эта функция-то, что мне нравится в git. Я думаю, что это действительно присутствует только в распределенных системах управления версиями; использование DVCS не означает, что вам действительно нужно заниматься распределенной разработкой.

Что касается одношагового построения, make-это инструмент построения по умолчанию, и он довольно хорошо работает для большинства задач. Я бы согласился с этим, если бы у вас не было веской причины не делать этого.

Если вам нужны ежедневные сборки, поместите команду build в свой cron.daily. Установите крючок procmail для обработки почты от cron, если это необходимо.

Для отслеживания ошибок используйте $(apt-cache search bug tracking) . В принципе, пока на коробке написано "bug tracker", и вы знаете, что другие люди используют его, он, вероятно, будет работать нормально. Среди завсегдатаев есть bugzilla, Богомол и trac.


  Сведения об ответе

ITSME

05:30, 25th August, 2020

У меня нет никаких инструментов, чтобы предложить, но у меня есть предложение о ежедневных сборках. Я всегда отвечаю " Да " на этот вопрос, хотя у нас нет ежедневных сборок. Вместо этого мы делаем сборку каждый раз, когда кто-то совершает коммит. Тем самым мы практически сразу улавливаем любые проблемы. Если у любого из наших проектов когда-либо будет достаточно LOC, что строительство занимает больше, чем тривиальное время, это также изящно деградирует в направлении ежедневного строительства.


  Сведения об ответе

appple

23:40, 1st August, 2020

Хороший трекер проблем, который был относительно недорогим, был axoSoft OnTime . Я использовал его в течение многих лет, прежде чем получить MS TFS.

Nant и CruiseControl -это основные элементы моего окружения.


  Сведения об ответе

nYU

15:38, 22nd August, 2020

Я не думаю, что вы действительно нуждаетесь в обфускации на .Net больше ( см. другой ответ )

Я бы не стал рассматривать Vault, SVN действительно является лидером рынка на данный момент (и свободным). Git выглядит довольно многообещающе, но в настоящее время является командной строкой только с крутой кривой обучения.

MSBuild бьет NAnt для .Net 2 или 3.5

CC.Net-это отлично.


  Сведения об ответе

$DOLLAR

06:07, 29th August, 2020

*4) Redmine

Я рекомендую Bitnami для тестирования различных стеков. В нем есть Trac, Redmine и Subversion, а также несколько других, не связанных между собой.


  Сведения об ответе

LIZA

02:07, 13th August, 2020

Ознакомьтесь с этими статьями о непрерывной интеграции с использованием MSBuild, CruiseControl.NET, FxCop, NUnit, NCover и Subversion...

Из траншей разработки программного обеспечения


  Сведения об ответе

$DOLLAR

15:57, 4th August, 2020

В настоящее время я использую SVN, но обычно у меня было много проблем с возвратом на сетевой диск на сервере разработки. Там, как правило, есть проблемы блокировки, которые требуют много рыбалки вокруг, чтобы исправить. Возможно, использование метода доступа WebDav облегчило бы некоторые из этих проблем, но я еще не экспериментировал.

Любой из Bugzilla, Trac или Fogbugz поможет вам с отслеживанием ошибок, и каждый из них предлагает функцию экспорта, так что вы всегда можете изменить свое мнение позже. Кроме того, если вы можете заставить свою команду полностью участвовать, программное обеспечение для управления временем также может быть удобно для посмертных вскрытий и т. д. (Если все заинтересованы в полном участии.


  Сведения об ответе

park

03:18, 11th August, 2020

Для автоматизации сборки и непрерывной интеграции взгляните на TeamCity от Jetbrains .

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

Если вы используете Visual Studio 2005/2008, он будет создавать ваше решение непосредственно без необходимости дополнительных сценариев (если сборка-это все, что вам нужно.)

Он также будет выполнять ваши модульные тесты и собирать статистику об успешности сборки, времени выполнения модульных тестов и т. д.

Лучше всего: Pro edition является бесплатным для команд до 20 пользователей и 3 агентов сборки.


  Сведения об ответе

DAAA

16:36, 10th August, 2020

  1. управление версиями: cvs
  2. сборка gnu make
  3. cron задание, вызывающее bash скриптов
  4. bugzilla


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться