Структура папок исследовательского проекта: версии и артефакты
Через год после защиты проектная папка обычно выглядит как археологический слой: данные_новые, данные_новые_2, финал, финал_правки, старое_не_трогать. Восстановить логику невозможно, а передать проект коллеге — тем более.
Правильная структура — скучная и предсказуемая. Ниже — рабочая схема.
Базовая структура
project/
README.md
data/
raw/
processed/
code/
docs/
manuscript/
notes/
refs/
output/
figures/
tables/
archive/
Пояснения:
- raw — исходные данные, которые нельзя менять.
- processed — очищенные и объединённые данные.
- code — скрипты обработки и графиков.
- docs — текст, заметки, протоколы.
- refs — библиография и PDF.
- output — результаты, которые можно удалить и пересобрать.
- archive — старые версии и сданные материалы.
Правила именования
- Дата в формате ISO.
2026-10-20_протокол.pdf. - Никаких пробелов. Используйте дефисы или подчёркивания.
- Латиница. Кириллица ломает скрипты и архивы.
- Версия в имени.
v01,v02, а не «финал». - Коротко и осмысленно.
survey_2026-09_clean.csv. - Без личных данных. Имена участников — только в защищённой папке.
Запрещённые имена: final, final2, new, копия, исправленный.
Почему raw нельзя трогать
Исходные данные — доказательство. Если вы «поправили» их вручную, воспроизвести анализ невозможно.
- Делайте копию в
processed. - Все изменения — скриптом.
- Ошибки в raw фиксируйте в журнале и исправляйте отдельным файлом с пометкой.
README: пять абзацев, которые спасают
- Что это за проект и кто автор.
- Откуда данные и когда собраны.
- Как запустить обработку (команда, порядок скриптов).
- Что где лежит (краткая карта папок).
- Ограничения и известные проблемы.
README обновляется при изменении структуры. Устаревший README хуже отсутствующего.
Версии
- Текст. История версий в облаке или Git.
- Код. Git с осмысленными коммитами (Pro Git).
- Данные. Дата и версия в имени; старые версии — в
archive. - Библиография. Zotero хранит базу в папке данных; копируйте её целиком (Zotero).
История версий Office работает для файлов в OneDrive или SharePoint (Microsoft Support); для локальных файлов её нет.
Резервные копии
- Рабочая копия на ноутбуке.
- Копия на внешнем диске.
- Копия в облаке или на сервере вуза.
- Проверка восстановления раз в месяц.
- Журнал копий: когда и что.
Синхронизация Zotero не заменяет резервную копию (Zotero): удаление на одном устройстве отражается на остальных.
Архив и передача
Перед передачей проекта:
- удалите временные файлы;
- проверьте, что скрипты запускаются с нуля;
- приложите README и список зависимостей;
- укажите, какие данные конфиденциальны;
- заархивируйте папку с датой;
- передайте доступ, а не копию на флешке.
Получатель должен суметь воспроизвести ключевую таблицу или график без ваших пояснений.
Типичные ошибки
- Данные в папке с текстом. Пересборка ломается.
- Файлы с пробелами. Скрипты падают.
- Нет README. Проект живёт только в голове автора.
- «Финальная» версия в трёх экземплярах. Непонятно, что сдано.
- Бэкап на том же диске. При поломке теряется всё.
- PDF источников вперемешку с данными. Поиск занимает минуты.
Пример для одного эксперимента
project/
data/raw/exp01/
survey_2026-09.csv
protocol_2026-09.pdf
data/processed/exp01/
survey_clean_v01.csv
code/
clean_survey_v01.py
figures_v01.py
output/exp01/
table1.csv
figure1.png
Такой набор можно передать коллеге: он видит, что исходное, что производное и чем это получено.
Журнал изменений
Один файл CHANGELOG.md в корне проекта. Формат простой:
- дата;
- что изменено;
- зачем;
- какой файл затронут.
Запись в две строки экономит часы объяснений. Особенно если данные правились после замечаний руководителя.
Права доступа и чувствительные данные
- Персональные данные — только в защищённом хранилище вуза.
- В общей папке — обезличенные выгрузки.
- Доступ выдаётся пофамильно, а не «всем сотрудникам».
- Список тех, у кого есть доступ, хранится отдельно.
- При передаче проекта доступ отзывается у прежних участников.
Если в данных есть имена, адреса или номера документов, папка не синхронизируется с личным облаком.
Шаблон README
- Название и цель проекта.
- Автор и контакт.
- Источник данных и дата сбора.
- Структура папок.
- Порядок запуска скриптов.
- Требования к окружению.
- Ограничения и известные проблемы.
- Лицензия или правила использования.
README пишется в начале, а не в конце. Дописывать проще, чем восстанавливать по памяти.
Что делать при смене темы
Тема меняется чаще, чем кажется. Правила:
- старую папку не удаляйте, а переносите в
archive; - новый проект начинайте с чистого каталога;
- общие источники выносите в отдельную библиотеку;
- README нового проекта ссылается на старый, если данные пересекаются.
Передача данных в журнал
Многие журналы просят данные и код при подаче. Подготовьте заранее:
- таблицу с описанием переменных;
- инструкцию по запуску;
- список пропущенных значений;
- версию скрипта, которой получены результаты;
- лицензию на использование данных.
Папка output в таком архиве не нужна: её можно пересобрать.
Мини-проверка структуры за десять минут
- Откройте корень проекта.
- Убедитесь, что видны
data,code,docs. - Проверьте, что в
rawнет файлов с датой сегодняшнего дня. - Найдите файлы с пробелами в имени.
- Откройте README и пройдите по шагам запуска.
- Удалите пустые папки.
- Проверьте, что резервная копия свежая.
Как быть с общими файлами в команде
- У каждого раздела один ответственный.
- Общие файлы лежат в одном месте, а не в личных папках.
- Правки в общий файл вносятся по очереди.
- Крупные изменения обсуждаются до сохранения.
- Раз в неделю делается снимок общей папки.
Что не хранить в проекте
- Личные фото и документы.
- Черновики, не относящиеся к исследованию.
- Установщики программ.
- Дубликаты архивов.
- Файлы с именами вида «копия копии».
Каждый лишний файл усложняет поиск и увеличивает архив.
Как объяснить структуру коллеге
Покажите не схему, а файл: «вот исходные данные, вот скрипт, вот результат». Коллеге достаточно знать три вещи: где брать данные, чем их обрабатывают и куда складывать итог. Всё остальное он найдёт по README.
Чек-лист
- Папки raw/processed/output разделены.
- Имена файлов по схеме.
- README написан.
- Версии фиксируются.
- Три копии данных.
- Архив с датой.
- Скрипты запускаются с нуля.
- Конфиденциальные данные отмечены.
Частые вопросы
Нужна ли отдельная папка для каждого эксперимента?
Да, если экспериментов несколько: data/raw/exp01, exp02. Так проще сравнивать и архивировать.
Можно ли хранить данные в облаке?
Да, если это разрешено политикой вуза и данные не содержат чувствительной информации. Для персональных данных — только защищённые хранилища.
Сколько версий держать?
Последнюю рабочую, сданную и одну предыдущую. Остальное — в архив.
Что делать со старыми скриптами?
Хранить в archive/code с датой. Они объясняют, как получены старые результаты.
Как передать проект, если он на 200 ГБ?
Внешний диск плюс README. Облако может не подойти по лимитам; проверьте скорость канала.