ИНЖЕНЕРНЫЙ МАНИФЕСТ: СТАНДАРТ ОРГАНИЗАЦИИ ФАЙЛОВ И ПАПОК
1. ИМЕНОВАНИЕ ЖЕСТКИХ ДИСКОВ
Каждый физический диск или массив в системе должен иметь уникальное, понятное имя (Метку тома / Volume Label).
- Для системного накопителя используется метка: WIN_SYS (Диск C:).
- Для основного рабочего накопителя используется метка: MAIN_DATA (Диск D:).
- Для дисков резервного копирования и архивов используется формат NAME_NC, где NAME — категория архива, N — порядковый номер хранилища, а C — буква диска в зеркальном массиве.
Пример двух дисков одного зеркала:
ARCHIVE_001AARCHIVE_001B
Пример расширения архива вторым зеркалом:
ARCHIVE_002AARCHIVE_002B
2. КУЛЬТУРА ИМЕНОВАНИЯ ПАПОК И ФАЙЛОВ
- Обязательные расширения: Не создавайте файлов без расширения. Текстовый файл обязан иметь
.txt, конфигурационный —.ini/.confи так далее. - Регистр символов: Используйте только маленькие латинские буквы в названиях пользовательских файлов и папок.
- Исключение: Метки физических дисков и папки, создаваемые самой операционной системой по умолчанию.
- Запрет на спецсимволы: Не используйте в именах специальные символы:
.,',(,),/,/,&,$и другие. - Запрет на пробелы: Никогда не используйте пробел. Заменяйте его символом нижнего подчеркивания
_.- Правильно:
/new_year_photo
- Правильно:
- Запрет на мусорные имена: Категорически запрещено использовать безликие имена, которые ни о чем не говорят. Примеры запрещенных имен:
/1,/2,/new_folder_1,/x5,/всякое. - Принцип авторства файлов: Используйте имя человека или название компании перед именем самого файла.
- Пример:
/ivan_photos,/rocketamusements_cad_models - При использовании связки Фамилия + Имя всегда соблюдайте строгий порядок:
фамилия_имяилифамилия_имя_инициал(например:/pudov_ivan_photos,/pudov_ivan_v_photos).
- Пример:
- Лаконичность без избыточности: Избегайте слишком длинных имен, но и не используйте экстремальные сокращения, теряющие смысл.
- Правильно:
/rocketamusements_logotype - Неправильно (длинно):
/rocketamusements_логотип_компании - Неправильно (избыточное сокращение):
/rockamus_logo
- Правильно:
- ПРАВИЛО ТРЕХ ВЛОЖЕНИЙ: Физическая глубина вложенности папок на пользовательском уровне не должна превышать трех шагов.
/1(Первый уровень) ➔/1/2(Второй уровень) ➔/1/2/3(Третий и последний уровень)
- Датирование и нумерация версий: При необходимости разделить однотипные папки или файлы по времени или ревизиям:
- По дате: Начинайте название папки с даты в строгом международном формате
YYYYMMDD(например:/20261115_patterns). - По номеру: Используйте фиксированный двухзначный формат
00,01,02(например:/patterns_00,/patterns_01). - По версии: Если файлы являются версиями одного и того же документа, добавляйте букву
vперед номером (например:/patterns_v00,/patterns_v01).
- По дате: Начинайте название папки с даты в строгом международном формате
3. ЗАРЕЗЕРВИРОВАННЫЕ ИМЕНА И СЕРВИСНЫЕ МАРКЕРЫ
Имена файлов
read_me,README— Текстовый файл в корне папки, содержащий важные комментарии, описание структуры или инструкции к данной директории.preview— Изображение, содержащее коллекцию миниатюр (превью) всех графических файлов в данной папке.
Минимальная структура README.md
# Название папки
## Автор
## Дата создания / Обновления
## Содержание (кратко)
Имена папок
temp— Папка-песочница (аналог загрузок). Все, что в ней лежит, может быть безвозвратно удалено в любой момент времени без предупреждения. Файлы в temp, срок жизни которых превышает 7 дней, подлежат автоматическому удалению (настроить через планировщик Windows).incoming— Временный буфер для файлов, которые требуют разбора, анализа и последующей сортировки.archive— Папка для хранения данных, которые нельзя удалять, но которые гарантированно не используются в повседневной работе.home— Скелетная папка, содержащая эталонные профили пользователей для бэкапа терминальных сред.shared— Выделенная папка общего доступа, к которой открыт доступ по локальной сети.family— Контейнер высшего уровня приватности и важности для личных данных семьи.
Системный маркер подчеркивания _
Символ подчеркивания в начале имени корневой папки (например, _base, _altium) радикально меняет ее статус. Он означает: «Внимание! Это системная инфраструктура или категория, а не имя пользователя/проекта. Внутри находится сложная автоматизированная система, требующая осторожности».
4. СТРУКТУРА ДИСКА ДАННЫХ (MAIN_DATA / Диск D:)
Все данные на диске D: разделяются на две глобальные категории: Пользовательский контент и Системная инфраструктура. В корне диска поддерживается идеальный плоский список из 6 основных папок.
D:│
├── ⚠️ _base/ (ИНФРАСТРУКТУРА: системный черный ящик для софта)
│
├── 📁 family/ (КОНТЕНТ: высшая семейная и юридическая ценность)
├── 📁 archive/ (КОНТЕНТ: статичные долгосрочные бэкапы и архивы)
├── 📁 shared/ (КОНТЕНТ: общедоступные сетевые файлы, медиа и инсталляторы)
├── 📁 home/ (КОНТЕНТ: скелетные конфигурации dotfiles для WSL Linux)
└── 📁 projects/ (КОНТЕНТ: живое рабочее пространство для Windows-native САПР)
Раздел 4.1: Данные, необходимые программам (D:/_base/)
Эта папка является системным фундаментом. Она скрывает под своей защитой капризный мусор программ, конфигурации сред разработки и сквозные библиотеки. Ежедневная работа пользователя внутри этой папки не ведется.
Внутри _base данные разделены на три изолированных контейнера:
1. _base/eda_libraries/ (Библиотеки САПР электронных плат)
Сквозные базы компонентов. Проекты со всего компьютера ссылаются на эти файлы напрямую.
_base/eda_libraries/mentor/— Центральные библиотеки для Mentor Xpedition / PADS (файлы конфигураций.lmc, символы и пады)._base/eda_libraries/cadence/— Базы компонентов для Cadence Allegro / OrCAD._base/eda_libraries/kicad/— Глобальные библиотеки символов и футпринтов для KiCad (.prettyпапки)._base/eda_libraries/footprint_expert/— Базы утилиты PCB Footprint Expert для генерации посадочных мест по стандартам IPC.
2. _base/sim_libraries/ (Библиотеки симуляции)
Изолированные математические и физические модели для симуляторов. Могут использоваться параллельно в разных САПР.
_base/sim_libraries/cadence/— Физические модели для симуляции схем Cadence P-Spice._base/sim_libraries/mentor/— Модели для симуляции Mentor Graphics (IBIS-модели для анализа сигналов в HyperLynx).
3. _base/environments/ (Служебные окружения софта)
Каждая экосистема софта имеет здесь строго одну свою подпапку для хранения локальных настроек интерфейса, тем оформления, скриптов автоматизации и скрытых логов:
_base/environments/mentor/— Сюда перенаправляется рабочая директория Mentor Graphics WDIR._base/environments/cces/— Сюда направляются метаданные (папка.metadata) среды Analog Devices CrossCore Embedded Studio. Живой код прошивок здесь не хранится.
Использование символических ссылок в корневой папке
Запрещено создавать симлинки в корне D:/. Все ссылки на _base должны быть настроены внутри настроек программ, а не на уровне файловой системы.
Раздел 4.2: Ценное, Общий доступ и Бэкап WSL
1. Категория: Ценное (D:/family/, D:/photos/, D:/archive/)
D:/family/— Личные документы семьи.family/business_data/— Бухгалтерские и бизнес-документы.family/documents/— Сканы паспортов, дипломов, свидетельств.family/job_search/— Профессиональное портфолио, резюме, сопроводительные письма.
D:/photos/— На верхнем уровне, чтобы вложенность папок с фотосессиями внутриraw_filesне превышала 3-х уровней.photos/catalogs/— Базы данных Lightroom и Capture One.photos/copyright_images/— Графика водных знаков и авторских плашек.photos/raw_files/— Оригинальные снимки в форматах RAW и JPEG.photos/exported/— Готовые фотографии, экспортированные для просмотра.
D:/archive/cloud_mirror/— Локальные слепки и бэкапы файлов из сетевых облаков.
2. Категория: Для общего доступа (D:/shared/)
Зона с наименьшей ценностью контента, открытая по локальной сети для других пользователей.
shared/incoming/— Входящий буфер-песочница для несортированных файлов.shared/installers/— Дистрибутивы и чистые установщики программ.shared/video/— Фильмы, сериалы и обучающие видеокурсы.shared/music/— Аудиофайлы и музыкальные коллекции.shared/wallpapers/— Обои для рабочего стола.shared/books/— Книги и документация.
3. Категория: Бэкап WSL Linux (D:/home/)
Статичная «скелетная» папка-донор. Живая работа в терминале WSL ведется строго внутри родного виртуального диска ext4 (/wsl$/...). Папка D:/home/valery/ хранит резервные копии ваших конфигурационных файлов (dotfiles: .bashrc, .tmux.conf, конфигурации git, ssh-ключи) для мгновенного развертывания новой среды Linux при аварии или переустановке ОС.
5. ПРАВИЛА ОРГАНИЗАЦИИ ПАПКИ PROJECTS
Папка D:/projects/ — это главное, живое рабочее пространство Windows-native разработки (Altium, KiCad, Unity, Creo).
Внутри нее действуют два жестких закона архитектуры данных:
- ПРИНЦИП АВТОРСТВА (Уровень 1): Первый каталог определяет автора, заказчика или источник кода (
hww— вы,ti— Texas Instruments,gary— коллега). - ТЕХНИЧЕСКИЙ МАРКЕР (Уровень 2): Папки на втором уровне обязательно начинаются с подчеркивания
_и определяют только среду разработки / софт. Это создает единую точку входа (Workspace) для программ. - СТАТУС КОНТРОЛЯ ВЕРСИЙ (Уровень 3): Конечный проект находится строго на 3-м уровне вложенности. Динамический статус синхронизации проекта с облаком определяется строго по префиксу в имени папки:
.git— Серьезный проект под управлением Git, имеющий репозиторий на GitHub.- без расширения — Локальный черновик, песочница или минутный тест без контроля версий.
Эталонная визуальная схема папки projects
D:/projects/
│
├── ti/ (Уровень 1: Автор — Texas Instruments)
│ └── _altium/ (Уровень 2: САПР плат от TI)
│ └── ref_design/ (Уровень 3: КОНЕЦ. Скачанная схема-референс)
│
└── hww/ (Уровень 1: Автор — Вы / личные проекты)
│
├──_altium/ (Уровень 2: САПР плат Altium Designer)
│ ├── power_supply.git/ (Уровень 3: КОНЕЦ. Ваша боевая плата на GitHub)
│ └── test_amp/ (Уровень 3: КОНЕЦ. Быстрый набросок схемы усилителя)
│
├── _cces/ (Уровень 2: Единый Workspace среды CrossCore)
│ ├── dsp_filter.git/ (Уровень 3: КОНЕЦ. Рабочая прошивка процессора на GitHub)
│ └── blinky_test/ (Уровень 3: КОНЕЦ. Быстрый локальный тест мигания диодом)
└── _system/ (Уровень 3: Мультисистемный проект)
Специальная папка _system для хранения мультисистеных проектов, которые содердать спектр технологий. Например печатная плата со встроенным программным обеспечением.
Правило миграции проектов
Если локальный набросок (blinky_test) перерастает в полноценную задачу и для него создается репозиторий в сети, папка проекта инициализируется в Git, и префикс в ее имени меняется на blinky_test.git. Физическое положение проекта внутри папки софта _cces при этом не меняется, что гарантирует абсолютную стабильность путей и исключает поломку связей в среде разработки.
Проекты для сторонних компаний (Коммерческая разработка)
Если проект выполняется вами на заказ, по контракту или в рамках сотрудничества со сторонней компанией, то на первом уровне иерархии создается папка с официальным названием этой компании (латиницей в нижнем регистре).
Несмотря на то, что автором кода являетесь вы, проект физически размещается внутри папки компании-заказчика, так как она является владельцем конечного продукта или контекста разработки.
Пример организации коммерческой разработки:
D:\projects\
└── yandex\ (Уровень 1: Компания-заказчик / Контекст)
└── _cces\ (Уровень 2: Категория софта — среда CrossCore)
├── telecom_board.git\ (Уровень 3: КОНЕЦ. Боевой репозиторий проекта)
└── test_spi\ (Уровень 3: КОНЕЦ. Локальный черновик для проверки шины)
Группировка чужих проектов (Коллективный автор)
Если у одного глобального проекта или открытой платформы есть несколько независимых авторов, с которыми вы не знакомы лично (например, скачанные с GitHub репозитории разных разработчиков для одного устройства), первый уровень иерархии отдается под Группу.
Имя такой папки обязано начинаться с подчеркивания и заканчиваться суффиксом -group. Это сигнализирует, что папка является техническим контейнером, а не именем конкретного человека. Имена авторов в этом случае смещаются на второй уровень.
Пример организации группы для ретро-компьютера Aleste:
D:\projects\
└── _aleste-group\ (Уровень 1: Искусственный коллективный автор)
├── gary\ (Уровень 2: Конкретный разработчик Гари)
│ └── loc_power_sch\ (Уровень 3: КОНЕЦ. Схема блока питания от Гари)
└── ron\ (Уровень 2: Конкретный разработчик Рон)
└── git_main_board\ (Уровень 3: КОНЕЦ. Репозиторий материнской платы от Рона)
Именование папок пользователей или разработчиков
Для папок авторов на втором уровне иерархии применяется строгий корпоративный паттерн:
имя.фамилия.номер(илиимя.первая_буква_фамилии.номер)
Все символы пишутся строго в нижнем регистре. Если фамилия автора неизвестна, используется его сетевой никнейм. Номер добавляется только в случае совпадения имен или ников, чтобы предотвратить случайное перезаписывание данных.
Пример использования паттерна внутри группы:
D:\projects\
├── john.doe\ (Имя + Фамилия целиком)
├── john.s\ (Имя + Первая буква фамилии)
└── john.s.2\ (Полный тезка предыдущего автора, добавлен номер)
Архивирование проектов и данных
Проекты закрытые но не подлежащие к удалению помечаются одним из двух способов
- Перемещаются в папку
_archive - Добавляется суффикс
.archiveили.deprecated