Системы управления исходным кодом в веб-разработке

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

  • Наша группа состоит из разработчиков и разработчиков
  • Мы работаем, прежде всего, над ПК с один или два на Mac
  • Многие не довольны основанными на командной строке системами
  • Большинство нашей разработки для сети
  • Мы разрабатываем в ASP.NET, ColdFusion и PHP

Некоторые мы планируем изучение:

Любой опыт с любым из них был бы полезен для слушания о.

9
задан Jeromy French 8 March 2013 в 14:49
поделиться

18 ответов

Oracle имеет хорошо известное поведение, что он бесшумно преобразует "" в NULL для инструкций INSERT и UPDATE.

Необходимо решить эту проблему в коде, чтобы предотвратить такое поведение, преобразовав NULL в "" при чтении столбцов и просто не используйте null в программе для начала.

-121--2409112-

ImmutureList аналогичен Collections.unmodifyList (новый ArrayList (список)) . Обратите внимание, что вновь созданный ArrayList не назначен полю или переменной.

-121--1065016-

Не используйте систему Source Safe! Это не только плохо для системы управления версиями, но и плохо для всего мира.

Я использую Subversion с черепахой. Мне очень нравится. Довольно легко встать и бежать. Ветвление/слияние все еще может быть кошмаром.

Визуальный SVN тоже хорош.

12
ответ дан 4 December 2019 в 07:04
поделиться

Для анимации в Javascript используйте http://coderepos.org/share/wiki/JSTweener

-121--3521827-

Попробуйте:

SELECT
    T1.SrcAddress,
    T1.SrcPort,
    T1.DestAddress,
    T1.DestPort,
    T1.Bytes + COALESCE(T2.Bytes, 0) AS TotalBytes,
    T1.Bytes AS A_to_B,
    COALESCE(T2.Bytes, 0) AS B_to_A
FROM (
    SELECT SrcAddress, SrcPort, DestAddress, DestPort, SUM(Bytes) AS Bytes
    FROM PacketHeaders
    GROUP BY SrcAddress, SrcPort, DestAddress, DestPort) AS T1
LEFT JOIN (
    SELECT SrcAddress, SrcPort, DestAddress, DestPort, SUM(Bytes) AS Bytes
    FROM PacketHeaders
    GROUP BY SrcAddress, SrcPort, DestAddress, DestPort) AS T2
ON T1.SrcAddress = T2.DestAddress
AND T1.SrcPort = T2.DestPort
AND T1.DestAddress = T2.SrcAddress
AND T1.DestPort = T2.SrcPort
WHERE T1.SrcAddress < T1.DestAddress OR
    (T1.SrcAddress = T1.DestAddress AND T1.SrcPort = T1.DestPort) OR
    T2.DestAddress IS NULL

На этих тестовых данных:

CREATE TABLE PacketHeaders (ID INT, SrcAddress NVARCHAR(100), SrcPort INT, DestAddress NVARCHAR(100), DestPort INT, Bytes INT);
INSERT INTO PacketHeaders (ID, SrcAddress, SrcPort, DestAddress, DestPort, Bytes) VALUES
(1, '10.0.25.1', 255, '10.0.25.50', 500, 64),
(2, '10.0.25.50', 500, '10.0.25.1', 255, 80),
(3, '10.0.25.50', 500, '10.0.25.1', 255, 16),
(4, '75.48.0.25', 387, '74.26.9.40', 198, 72),
(5, '74.26.9.40', 198, '75.48.0.25', 387, 64),
(6, '10.0.25.1', 255, '10.0.25.50', 500, 48),
(7, '10.0.25.2', 255, '10.0.25.50', 500, 48),
(8, '10.0.25.52', 255, '10.0.25.50', 500, 48);

Это дает следующие результаты:

'10.0.25.1', 255, '10.0.25.50', 500, 208, 112, 96
'10.0.25.2', 255, '10.0.25.50', 500, 48, 48, 0
'10.0.25.52', 255, '10.0.25.50', 500, 48, 48, 0
'74.26.9.40', 198, '75.48.0.25', 387, 136, 64, 72

Способ работы состоит в том, чтобы сначала группировать односторонние беседы и суммировать количество байтов. Это уверяет, что каждый разговор будет представлен ровно дважды - по одному разу для каждого направления. Этот результат затем самосоединяется, чтобы получить нужный результат, фильтруя дубликаты, обеспечивая, что (адрес, порт) A должен быть меньше B. Левое соединение используется, чтобы разрешить односторонние разговоры.

-121--3514160-

SourceGear Vault - отличный инструмент. Его интерфейс похож на VSS, но не имеет всех проблем.

0
ответ дан 4 December 2019 в 07:04
поделиться

Я лично использую git с cygwin. Я предпочитаю его svn из-за боли, которую svn причинил мне в прошлом слиянием. git был разработан с учетом безболезненного слияния, и он очень эффективно придерживается этого правила.

Если cygwin вам не по душе и вам нужна интеграция с Windows Explorer, ознакомьтесь с проектом ToroiseGit . Он имеет внешний вид ToroiseSVN, поэтому его легко подобрать. вы даже можете запускать ToroitseGit и TortoiseSVN одновременно, если хотите.

TortoiseGit также имеет встроенную поддержку репозиториев SVN, так что вы можете проверить репозиторий svn и получить все преимущества локальных веток и того, что у вас есть.

1
ответ дан 4 December 2019 в 07:04
поделиться
  1. На самом деле нет. Существует ключевое слово export , но большинство компиляторов не поддерживают его. Единственный мейнстрим, который я знаю об этом поддерживает, это компилятор Comeau .
  2. Если ваш шаблон является частью общедоступного API, вы раскрываете свой код миру. (большинство людей не считают это проблемой, но некоторые считают. Это зависит от вашего бизнеса).
  3. Поместите их в один и тот же файл заголовка.
-121--2980872-

Первый совет: Не используйте SourceSafe . Это кошмар. Я думаю, что даже разработчики Microsoft не используют его внутри!

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

Кроме того, существуют подключаемые модули SVN для наиболее часто используемой среды IDE.

-121--3227033-

Я бы второй, используя Tortoise SVN, избегая SourceSafe и добавить еще один в список:

Perforce - Это то, что использовалось на одной из моих бывших рабочих мест. Было неплохо, хотя слияния были болезненными в том, что потребовалось 1-2 разработчика в день, чтобы получить слияние кода для перемещения из одной среды в другую, например dev- > испытание, испытание - > подготовка.

Tortoise SVN имеет множество встроенных параметров проводника Windows, которые можно использовать вместо командной строки, поэтому я редко использую командную строку с Subversion.

Если вы работаете с SourceSafe, будьте осторожны, что есть инструмент администратора для анализа БД, чтобы увидеть, что это должно выполняться периодически и может быть немного раздражает, так как я не думаю, что кто-то должен использовать SS, когда анализатор работает. Ветвление в VSS немного слабое, особенно в отличие от того, как хорошо все работает в SVN.

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

1
ответ дан 4 December 2019 в 07:04
поделиться

Вы должны принять решение о том, хотите ли вы платить за это или иметь один бесплатно. Я знаю, что SVN и CVS бесплатны, и есть отличные клиенты пользовательских клиентов, а плагины IDE также доступны бесплатно.

Мы начали с CVS, а затем перешли на SVN несколько лет назад. Преимущества, которые мы имели, имели это. SVN Reppo был меньше, б. Он был доступен по сети через HTTP, так и HTTPS, C. Имел отличный клиентский пользовательский интерфейс (я использую SmartSVN), есть также отличные плагины для Eclipse и Intellij. др. Переход от использования CVS на SVN был очень прост в качестве пользователя.

0
ответ дан 4 December 2019 в 07:04
поделиться

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

textField.layer.cornerRadius = 10;

Обязательно включите #IMPORT Доступ к этому.

(Вышеупомянутый ответ, вероятно, лучший ответ; это просто может быть проще)

-121--2786186-

Subversion особенно подходит для веб-разработки из-за «двусмысленного» алгоритма, который он использует для двоичных файлов. Web Development - это не только код. Двоичные ресурсы входят в игру много (изображения, PDFS и т. Д.).

Subversion отслеживает различия между файлами и записывает их. Контрастность, что с CVS, которые по существу сохраняют другую копию двоичного файла, и преимущество становится очевидной в качестве ваших двоичных ресурсов и повышения проверки.

Я использую плагин TortoiseSVN, что достаточно прилично для меня. Как вы конкретно тег ASP .NET, вы можете посмотреть на VisureSVN, что делает отличную работу в смягчении самой большой проблемы в управлении версиями - коллега, забыв на добавление файла в репозиторий.

Я также использовал Visual SourceSafe в день. Не знаю, теперь это то же самое сейчас, но его эксклюзивная проверка на каждого пользователя была полным кошмаром в команде нескольких разработок. Постоянно пришлось напомнить людям проверить вещи обратно или, в качестве альтернативы, убедить дружеский администратор, чтобы войти в систему под своими полномочиями всякий раз, когда кто-то не был в офисе.

3
ответ дан 4 December 2019 в 07:04
поделиться

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

Начните с простого и с большой поддержкой: используйте Subversion в качестве сервера и Tortoise в качестве клиента.

Это простая настройка и легкость в использовании.

5
ответ дан 4 December 2019 в 07:04
поделиться

В настоящее время я работаю с Rational ClearCase и не могу жаловаться (по крайней мере, "до сих пор").

До этого мы использовали ChangeMan Dimensions, это обычный инструмент CVS с большим количеством ресурсов, но, на мой взгляд, он заставляет контроль исходных кодов стать очень бурократичным, мягко говоря: в нём есть печально известный эксклюзивный чек-аут. Мне также не нравится дизайн.

ClearCase имеет вид Windows-Explorer, и как только вы привыкаете к нему, он становится очень простым в использовании. Он также имеет приятную и простую интеграцию с MS Visual Studio.

0
ответ дан 4 December 2019 в 07:04
поделиться

Первый совет: Не используйте SourceSafe . Это кошмар. Я думаю, что даже разработчики Microsoft не используют его внутри компании!

Вы можете пойти с SVN, используя TortoiseSVN в качестве интерфейса для людей, которым не нравится командная строка. Но вам придется разместить свой собственный сервер Subversion или найти провайдера хостинга для ваших репозиториев .

Кроме того, существуют плагины SVN для наиболее часто используемых IDE.

0
ответ дан 4 December 2019 в 07:04
поделиться

Если вы используете .net и визуальную студию или находитесь в тяжелой среде MS, вам может очень понравиться TFS. Она имеет очень хорошую интеграцию с Visual Studio. Она также имеет множество других функций, таких как отслеживание задач, ошибок и т.д. и автоматизация сборок. Она является дорогостоящей, особенно в мире SCM, где вы можете получить много бесплатно (svn, git). Раз уж вы упомянули .net, хотя на него стоит посмотреть.

0
ответ дан 4 December 2019 в 07:04
поделиться

Subversion в качестве сервера и tortoise svn в качестве клиента могут очень хорошо соответствовать вашим требованиям, хотя я слышал, что GIT новее и имеет много улучшение.

1
ответ дан 4 December 2019 в 07:04
поделиться

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

Очевидно, что тебе не стоит ничего покупать, думаю, ты можешь сразу убрать коммерческие решения из своего списка.

Кроме того, вам, наверное, стоит купить хостинг стороннего производителя вместо того, чтобы запускать свой собственный сервер.

3
ответ дан 4 December 2019 в 07:04
поделиться

Верно, что VSS не следует рассматривать - это мертвый продукт и просто плохой. Однако следует обратить внимание на Team Foundation Server - особенно 2010. Он не только контролирует исходный код, но и имеет систему отслеживания рабочих элементов, CI и сервер сборки, а также несколько действительно отличных инструментов для тестирования. Например, он будет запускать автоматические сценарии и записывать сеанс в фильм в формате mpeg, чтобы вы действительно могли видеть, как выглядел экран, когда / если тест не удался.

Если это больше, чем вы хотите, используйте SVN.

1
ответ дан 4 December 2019 в 07:04
поделиться

Я использовал QVCS по тексту ссылки у них справедливые и гораздо более дешевые цены, для разных версий.

Я использовал и пробовал подрывную версию, и лично мне это не нравится, но если людям нравится и нравится, это потрясающе для них.

Я говорю, что вы должны найти ту, которая имеет нужные вам возможности, и ценовой диапазон, который является разумным, и имеет хорошую систему поддержки...

Самое сложное - заставить всех в вашей команде использовать ее, и использовать ее мудро...

0
ответ дан 4 December 2019 в 07:04
поделиться

Еще один +1 к Subversion. Использовали с различными языками, включая ColdFusion. Черепаха отлично подходит для окон, лучшие графические клиенты для Mac, однако, не бесплатны.

Также рекомендовал бы против Rational Clearcase. Их клиент kludgy, и не так много плагинов для различных идеалов/платформ.

0
ответ дан 4 December 2019 в 07:04
поделиться

Я работаю на клиенте, где они используют TortoiseSVN в качестве клиента и устанавливают VisualSVN (Subversion) в качестве серверного компонента. В какой-то момент у нас был этот генеральный план по использованию nANT и CruiseControl для синхронизации трех разных сред для веб-сайта .NET, но мы еще не получили на это одобрения (шок). Так что до тех пор мы используем наш сервер Subversion для хранения всего исходного кода и ручной синхронизации различных сред. Это не лучший сценарий в мире, но он дает каждому доступ к коду, а наша группа разработчиков достаточно мала, чтобы каждый мог легко узнать, над чем работает.

2
ответ дан 4 December 2019 в 07:04
поделиться

Возможно, вы захотите взглянуть на Perforce. http://www.perforce.com/perforce/products.html

3
ответ дан 4 December 2019 в 07:04
поделиться

Лично мне очень нравятся Subversion и клиент tortoiseSvn, как многие уже отметили. Один сайт, который мне действительно нравится, - это http://www.springloops.com . Они предлагают дешевый хостинг SVN, но они также интегрируются с BaseCamp, который мне нравится для управления проектами. Если вам нравится Basecamp и вы также пользуетесь Svn, вам стоит взглянуть на него

0
ответ дан 4 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: