Символ, обозначающий корень проекта
Есть ли общепринятый символ в мире программирования для корня проекта?
Например, тильда ~ является домашним каталогом пользователя, но это не только соглашение, но и часть UNIX.
Я ищу символ, который является просто условным.
Ответы
Ответ 1
Если вы ищете соглашение для использования в общении с командой, я бы предложил название проекта, а затем /
. Это дает понять, к какому проекту вы обращаетесь. Если название проекта уже подразумевается контекстом, представляется, что это соглашение просто использовать имя подкаталога, с или без конечной косой черты. См. здесь и здесь для примеров из документации, связанной с Linux-ядром.
Ответ 2
Я не знаю такого соглашения. В Autoconf переменные top_srcdir
и abs_top_srcdir
указывают на корень проекта. В git выполняется следующее задание:
git rev-parse --show-toplevel
Однако, если вы ищете один символ символа, я предлагаю заимствовать символ tee: ⊤ (U + 22A4, & # 8868). Я не думаю, что это когда-либо использовалось для этого, но оно отражает идею верха.
Ответ 3
корень проекта
Что означает корень проекта точно? Учитывая какой контекст? Какие типы проектов? Вы говорите о развернутых веб-проектах? Исходное дерево веб-проектов? Утилита командной строки, написанная на C? Или в Java? Или Go?
Каждый язык и структура обеспечивают его наборы предопределенных структур. Тогда корнем проекта является либо корень vcs, который может хранить много активов, которые не имеют строгого отношения к бизнесу программного обеспечения, или корень в соответствии с данной структурой/языком, с которым вы работаете, и в этом случае я предположим, что можно с уверенностью сказать, что это может быть что угодно, потому что они так много разных fw для многих различных проблем.
Ответ 4
Windows vs. POSIX
Портативный интерфейс операционной системы (POSIX), такой как UNIX.
Windows имеет C://
или другие драйверы как root, а POSIX имеет /
как root.
чтобы узнать, является ли файл корневым путем или нет, вы можете использовать path.isAbsolute('PATH_HERE')
this ill return true, если это корневой путь.
чтобы узнать, работает ли ваш node на платформах Windows или POSIX, process.platform
чтобы проверить, работаете ли вы в окнах:
var isWin = /^win/.test(process.platform);
nodeJS Docs: https://nodejs.org/dist/latest-v6.x/docs/api/path.html#path_path_isabsolute_path
Ответ 5
Я думаю, что люди обычно используют ярлык, чтобы быть корнем вместо символа, например, /server для корня node.
Ответ 6
Be-all, End-all
После минимального исследования и чтения около 1/4 статьи wikipedia в Root Directory я пришел к всемогущему, навсегда Заключение:
Нет, нет стандартного способа указать, что вы находитесь в корневой директории произвольного проекта. (Помимо чтения самого пути)
Вот еще одна ссылка, относящаяся к inodes дальше, чтобы было похоже, что я сделал больше исследований.
В этом случае создание стандарта кажется забавным, не так ли?
Стандарт, который вы придумали, не обязательно должен быть глобальным, он может просто применяться к вашей команде разработчиков, если вы этого хотите. В этом случае позвольте сделать 3 прямо с верхней части нашей (моей) головы.
Как насчет |->foo/bar/a.java
? |
указывает на ровный уровень, перед которым ничего нет.
Мы всегда могли попробовать скучно (но полезно... я думаю): (foo)/bar/a.java
Или немного подправить вещи, мы могли бы сделать...
I am gROOT
|foo|/bar/a.java
Какой бы стандарт вы ни выбрали (что смешно, потому что использование стандарта подразумевает, что есть только одно), вам теперь придется...
Внедрите его!
Это будет трудная часть. Вам нужно будет найти способ указать OS, что вы находитесь не только в произвольном каталоге, но и в том, что вы находитесь в каталоге, который имеет немного большее значение, чем другие. Возможно, вы добавите еще один раздел в INODE (по крайней мере в * nix), который указывает, что это важно. Возможно, вы не суетитесь со всеми файлами уровня ОС, а вместо этого патчем git, чтобы распознать корень всех проектов git... которые теперь, когда я думаю об этом, уже происходит.
Возможная реализация
Позволяет использовать git в качестве примера. git проекты обозначаются .git
файлами в корневом каталоге. Поэтому давайте сделаем шаг дальше и поместим файл .base
в каждый каталог, являющийся корнем проекта (или у вас есть). .base
даже не нужно что-либо иметь в нем, он просто должен быть там. Теперь, исправьте любой терминал, который вы используете, чтобы распознать файл .base
в качестве корня произвольного проекта и отобразить его, как вам нравится! EZ-ПЗ
Возможные дополнения?
Некоторые другие мысли здесь, возможно, вы могли бы добавить некоторую конфигурацию в файл .base
, например:
proj_name=WorldTraveller
lang=java
other=stuff
can=go
here=whatever
который затем управляет тем, как он отображается в терминале. Вышеприведенная конфигурация с использованием моего первого предложенного стандарта была бы
|->WorldTraveller/Countries/France/a.java
Примечание
Я не пытаюсь оторваться как саркастический D.i.a.B, так что, если я сойду с ума, это не мое намерение. Мне нравится получать удовольствие, иногда отвечая на вопросы.