Я часто кодирую многочисленные эксперименты для тестирования различных алгоритмов, библиотек или аппаратного обеспечения. Весь код, зависимости и выходные данные этих экспериментов должны быть аннотированы и сохранены, поэтому я могу вернуться к ним позже. Есть ли хорошие общие подходы к этой проблеме? Что вы делаете с экспериментами после их запуска?Программирование экспериментов
ответ
На предыдущей работе у нас был проект в SVN под названием Area51, где люди пишут тестовый код. Правила было
- создать пространство имен пакетов
- старт через государственные статические силу основных
- добавить комментарии через Javadocs
- покинуть проект в компилируемом состоянии
- проект никогда не может стать зависимостями другого кода
В команде из трех человек это получилось нормально. Мы могли бы поставить код «что, если», чтобы поделиться, и было легко запустить его через ide или командную строку
Я просто папка, которую я называю OneOffCode
Это папка просто код, который я написал либо изучая новую технологию, пытаясь доказать концепцию и т.д.. , Это не производственный код.
Обычно я поддерживаю его до прыжкового диска и перемещаю его со мной на задание или на компьютер.
Kinda многословие. Я просто называю мой «Тест». –
Я называю свои тесты «тест» - эксперименты и тесты - это не одно и то же. –
Когда я это делаю, они, как правило, специфичны для проекта, поэтому они входят в подкаталог проекта (обычно называемый «Расследования» в моем случае). Это проверяется в системе контроля версий со всем остальным.
Результаты (в соответствующих случаях) входят в один и тот же подкаталог «Расследования» в качестве кода, используемого для получения результатов.
+1: Мы называем их «Шипами». –
@ S.Lott: «Шипы»: мне это нравится! – DrAl
Это то, что я и делаю. Кроме того, эксперименты разделяют и поддерживают намного больше, чем производственный код, который, как правило, приводит к беспорядку в системе контроля версий. Поиск и проверка предыдущих версий из SVN довольно неудобна. –
Обычно я переключаюсь между C# и C++. Итак, у меня есть тестовое консольное приложение для C# и C++ в местоположении «Песочница» под контролем источника. Консольные приложения устанавливаются одинаково, когда есть Main, который вызывает тест, который я пытаюсь сделать в то время. Когда я закончил, я сохраняю старые методы и комментарии и просто очищаю Main, когда приходит следующий тест.
Я не знаю, является ли это лучшим, но после его настройки, довольно быстро войти, получить ответы, выйти и сохранить все в следующий раз.
хранить их в системе контроля версий? –
Мне нравится git для такого рода вещей. Вся история с вами все время, легко для резервного копирования. –
Я использовал Subversion раньше (в одном из сообщений ниже), однако, если вы можете попробовать и использовать GIT намного лучше. (Я еще не использовал его, но хочу скоро) – Audioillity