2009-08-24 8 views
8

Я часто кодирую многочисленные эксперименты для тестирования различных алгоритмов, библиотек или аппаратного обеспечения. Весь код, зависимости и выходные данные этих экспериментов должны быть аннотированы и сохранены, поэтому я могу вернуться к ним позже. Есть ли хорошие общие подходы к этой проблеме? Что вы делаете с экспериментами после их запуска?Программирование экспериментов

+7

хранить их в системе контроля версий? –

+1

Мне нравится git для такого рода вещей. Вся история с вами все время, легко для резервного копирования. –

+0

Я использовал Subversion раньше (в одном из сообщений ниже), однако, если вы можете попробовать и использовать GIT намного лучше. (Я еще не использовал его, но хочу скоро) – Audioillity

ответ

5

На предыдущей работе у нас был проект в SVN под названием Area51, где люди пишут тестовый код. Правила было

  1. создать пространство имен пакетов
  2. старт через государственные статические силу основных
  3. добавить комментарии через Javadocs
  4. покинуть проект в компилируемом состоянии
  5. проект никогда не может стать зависимостями другого кода

В команде из трех человек это получилось нормально. Мы могли бы поставить код «что, если», чтобы поделиться, и было легко запустить его через ide или командную строку

2

Я просто папка, которую я называю OneOffCode

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

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

+1

Kinda многословие. Я просто называю мой «Тест». –

+0

Я называю свои тесты «тест» - эксперименты и тесты - это не одно и то же. –

5

Когда я это делаю, они, как правило, специфичны для проекта, поэтому они входят в подкаталог проекта (обычно называемый «Расследования» в моем случае). Это проверяется в системе контроля версий со всем остальным.

Результаты (в соответствующих случаях) входят в один и тот же подкаталог «Расследования» в качестве кода, используемого для получения результатов.

+1

+1: Мы называем их «Шипами». –

+0

@ S.Lott: «Шипы»: мне это нравится! – DrAl

+0

Это то, что я и делаю. Кроме того, эксперименты разделяют и поддерживают намного больше, чем производственный код, который, как правило, приводит к беспорядку в системе контроля версий. Поиск и проверка предыдущих версий из SVN довольно неудобна. –

2

Обычно я переключаюсь между C# и C++. Итак, у меня есть тестовое консольное приложение для C# и C++ в местоположении «Песочница» под контролем источника. Консольные приложения устанавливаются одинаково, когда есть Main, который вызывает тест, который я пытаюсь сделать в то время. Когда я закончил, я сохраняю старые методы и комментарии и просто очищаю Main, когда приходит следующий тест.

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