Программирование экспериментов - PullRequest
8 голосов
/ 24 августа 2009

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

Ответы [ 5 ]

5 голосов
/ 26 августа 2009

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

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

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

5 голосов
/ 24 августа 2009

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

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

3 голосов
/ 24 августа 2009
2 голосов
/ 24 августа 2009

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

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

2 голосов
/ 24 августа 2009

У меня просто есть папка, которую я называю OneOffCode

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

Я обычно копирую его на диск-джамп и перевожу его со мной с работы на работу или с компьютера на компьютер.

...