Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Инструменты, которые помогут маленькому магазину набрать больше баллов на "тесте Джоэла"
Вопросы #1 - #4 по тесту Джоэла , на мой взгляд, касаются всех используемых инструментов разработки и системы поддержки для разработчиков:
- Вы используете систему управления версиями?
- Можете ли вы сделать сборку в один шаг?
- Вы делаете ежедневные сборки?
- У вас есть база данных об ошибках?
Мне просто интересно, какие бесплатные / дешевые (но хорошие) инструменты существуют для небольших магазинов разработки, которые не имеют больших банковских счетов, чтобы использовать их для получения положительного ответа на эти вопросы.
Для управления версиями я знаю, что Subversion-отличное решение ,и если вы один человек, вы можете даже использовать хранилище SourceGear.
Я использую NAnt для своих более крупных проектов, но еще не настроил скрипт для сборки моих инсталляторов, а также запуска инструментов обфузирования в одном шаге. Есть еще какие-нибудь предложения?
Если вы можете ответить " да " на построение в один шаг, я думаю, что создание ежедневных сборок будет легко, но какие инструменты вы порекомендуете для автоматизации этих ежедневных сборок?
Для одной или двух человек команды уже обсуждалось на SO, что вы можете использовать FogBugz по требованию, но какие еще решения для отслеживания ошибок существуют для небольших команд?
Мой любимый стек:
1) подрывная деятельность. Я заинтригован распределенным управлением версиями, но у меня еще не было возможности попробовать их в гневе. Для централизованного решения svn является твердым камнем.
2) Ant. Maven-это радость для использования, когда он работает, но как старый хакер ant я нахожу, что maven трудно следовать, когда что-то идет не так.
3) Гудзон. До сих пор не упоминалось, но определенно стоит исследовать. Невероятно удобный и активно обслуживаемый инструмент. PreviousLy мы заплатили за Anthill Pro, который казался хрупким и было больно чинить каждый раз, когда он облажался.
4) мы платим за jira. Не дешево, но гораздо более удобно, чем варианты с открытым исходным кодом, которые мы рассматривали, и очень гибко.
Возможно, вы захотите взглянуть на существующий у меня вопрос для поиска альтернативы командной системе . Там также есть много рекомендаций.
- Git
- Сделай
- Cron
- Trac
Я человек с несколькими слогами ;-)
Обязательно используйте какой-то вид контроля версий, где разработчики могут легко создавать частные ветви волей-неволей, а затем взять свою частную ветвь и сжать ее в один коммит на главной ветви. Таким образом, отдельные разработчики-в отличие от организации-могут получить преимущества контроля версий, не загрязняя чей-либо код (и не замедляя свою работу) сломанными коммитами.
Эта функция-то, что мне нравится в git. Я думаю, что это действительно присутствует только в распределенных системах управления версиями; использование DVCS не означает, что вам действительно нужно заниматься распределенной разработкой.
Что касается одношагового построения, make-это инструмент построения по умолчанию, и он довольно хорошо работает для большинства задач. Я бы согласился с этим, если бы у вас не было веской причины не делать этого.
Если вам нужны ежедневные сборки, поместите команду build в свой cron.daily. Установите крючок procmail для обработки почты от cron, если это необходимо.
Для отслеживания ошибок используйте $(apt-cache search bug tracking) . В принципе, пока на коробке написано "bug tracker", и вы знаете, что другие люди используют его, он, вероятно, будет работать нормально. Среди завсегдатаев есть bugzilla, Богомол и trac.
У меня нет никаких инструментов, чтобы предложить, но у меня есть предложение о ежедневных сборках. Я всегда отвечаю " Да " на этот вопрос, хотя у нас нет ежедневных сборок. Вместо этого мы делаем сборку каждый раз, когда кто-то совершает коммит. Тем самым мы практически сразу улавливаем любые проблемы. Если у любого из наших проектов когда-либо будет достаточно LOC, что строительство занимает больше, чем тривиальное время, это также изящно деградирует в направлении ежедневного строительства.
Хороший трекер проблем, который был относительно недорогим, был axoSoft OnTime . Я использовал его в течение многих лет, прежде чем получить MS TFS.
Nant и CruiseControl -это основные элементы моего окружения.
Я не думаю, что вы действительно нуждаетесь в обфускации на .Net больше ( см. другой ответ )
Я бы не стал рассматривать Vault, SVN действительно является лидером рынка на данный момент (и свободным). Git выглядит довольно многообещающе, но в настоящее время является командной строкой только с крутой кривой обучения.
MSBuild бьет NAnt для .Net 2 или 3.5
CC.Net-это отлично.
Ознакомьтесь с этими статьями о непрерывной интеграции с использованием MSBuild, CruiseControl.NET, FxCop, NUnit, NCover и Subversion...
Из траншей разработки программного обеспечения
В настоящее время я использую SVN, но обычно у меня было много проблем с возвратом на сетевой диск на сервере разработки. Там, как правило, есть проблемы блокировки, которые требуют много рыбалки вокруг, чтобы исправить. Возможно, использование метода доступа WebDav облегчило бы некоторые из этих проблем, но я еще не экспериментировал.
Любой из Bugzilla, Trac или Fogbugz поможет вам с отслеживанием ошибок, и каждый из них предлагает функцию экспорта, так что вы всегда можете изменить свое мнение позже. Кроме того, если вы можете заставить свою команду полностью участвовать, программное обеспечение для управления временем также может быть удобно для посмертных вскрытий и т. д. (Если все заинтересованы в полном участии.
Для автоматизации сборки и непрерывной интеграции взгляните на TeamCity от Jetbrains .
Он имеет много функций и действительно легко настраивается и используется.
Если вы используете Visual Studio 2005/2008, он будет создавать ваше решение непосредственно без необходимости дополнительных сценариев (если сборка-это все, что вам нужно.)
Он также будет выполнять ваши модульные тесты и собирать статистику об успешности сборки, времени выполнения модульных тестов и т. д.
Лучше всего: Pro edition является бесплатным для команд до 20 пользователей и 3 агентов сборки.