Semantic Workspace

Semantic Workspace — это просто красивое название, которое я придумал полгода назад для ряда простых принципов организации каталога с проектами на локальной машине.

Недавно, обсуждая с коллегой рабочие вопросы, мы показывали друг другу экран, выполняя различные действия в разных связанных между собой проектах. Думаю, многие из вас сталкивались с ситуацией, когда слышали что-то подобное: " Сейчас-сейчас, найду, где это у меня лежит" — при попытке найти нужный каталог. Это всегда занимает определенное время и вызывает не самое приятное чувство; возникает ощущение, что у вашего собеседника на жестком диске беспорядок.

Что предлагаю я, для того, чтобы ваши проекты были разложены “по полочкам”? На самом деле ничего нового и сложного, и сначала я покажу шаблон:

Workspace
├── github.com
│   ├── user/group/org
│   │   ├── project-1
│   │   ├── project-2
│   │   ├── project-3
├── gitlab.com
│   ├── user/group/org
│   │   ├── project-1
│   │   ├── project-2
│   │   ├── project-3
├── your-company.tld
│   ├── user/group/org
│   │   ├── project-1
│   │   ├── project-2
│   │   ├── project-3
...

А теперь обсудим, что же тут происходит.

  1. Создайте корневую папку Workspace в вашем домашнем каталоге. Она может называться Projects, Work, Developemnt — как вам будет удобно. Я предпочитаю Workspace как наиболее нейтральный вариант.
  2. Внутри созданного каталога распределите проекты по признаку их происхождения. Создайте папку github.com для проектов, которые вы клонировали с github’а. Аналогично, если проект был получен с gitlab.com или любого другого аналогичного сайта, создайте папку под него.
  3. Для проектов вашей компании создайте отдельную папку.
  4. Внутри созданных папок по доменам, разложите ваши локальные копии проектов с учётом принадлежности пользователю, организации или группе.

Это позволит вам быстро ориентироваться в структуре проектов в вашем рабочем каталоге. Предсказуемость такой структуры организации позволит вам поддерживать его в порядке.

И отдельно хочу напомнить счастливым обладателям маков: не размещайте папку Workspace и ваши проекты внутри Documents. Если вы ведете разработку на виртуальных машинах и синхронизируете файловые системы по nfs, работать это не будет. Проблема связана с тем, что несколько лет назад папка Documents стала синхронизироваться с iCloud, а nfs-server из-за “настроек безопасности” отказывается раздавать файлы из этой папки во вне. Простое решение без лишних приседаний — иметь корневую папку с проектами прямо в вашем домашнем каталоге.

Организуйте свою локальную разработку!