Я продолжаю вовлекать себя в узлах, когда я управляю путями и именами файлов, потому что у меня нет общей системы именования, которую я использую.
Я должен придумать стандарт именования и придерживаться его, и я хотел бы быть ясным и согласовываться с другими, таким образом, я открываюсь для изучения канонических ответов.
Рассмотрите эту модельную задачу: (пример Windows, но надо надеяться отвечают, должно быть независимым от платформы),
Вам дали полное имя папки: C:\users\OddThinking\Documents\My Source. Вы хотите обойти папки внизу и скомпилировать весь .src в .obj.
В какой-то момент Вы смотрите на следующую строку.
C:\users\OddThinking\Documents\My Source\Widget\foo.src
Так, какие имена идентификатора Вы использовали бы для частей?
A) foo
B) foo.src
C) src
D) .src
E) C:\users\OddThinking\Documents\My Source\ - i.e. the top of the tree.
F) Widget\foo.src - i.e. the path from the top of the tree to the leaf.
G) Widget - i.e. one node of the tree.
H) C:\users\OddThinking\Documents\My Source\Widget\ - i.e. the name of the folder
I) C:\users\OddThinking\Documents\My Source\Widget\foo.src
Позвольте мне дать некоторые ответы, запустить Вас.
A) базовое имя?
B) имя файла? Или это - имя файла? Различие важно при выборе имен идентификатора, и я никогда не последователен здесь.
C) Расширение
D) Расширение. Ожидайте, именно это я назвал C. Я должен постараться не хранить точку и просто вставить в при необходимости? Что, если нет никакой точки на конкретном файле?
H) путь? Или ожидайте, это - просто путь?
I) имя файла. Ожидайте, именно это я назвал C. Путь. Ожидайте, именно это я назвал H. Возможно, H должен быть именем папки. Разве "папка" не является конкретным термином Windows, хотя?
Я думаю, что ваш поиск "стандартного" соглашения об именах будет напрасным. Вот мои предложения, основанные на существующих известных программах:
A) C:\users\OddThinking\Documents\My Source\Widget\foo. src
Vim называет его file root (:help filename-modifiers)
B) C:\users\OddThinking\Documents\My Source\Widget\foo.src
C). C:\users\OddThinking\Documents\My Source\Widget\foo. src (без точки)
D) C:\users\OddThinking\Documents\My Source\Widget\foo.src (с точкой)
также расширение файла. Просто храните без точки, если на файле нет точки, то он не имеет расширения
E) C:\users\OddThinking\Documents\My Source\Widget\foo.src
top of the tree
. Никакой конвенции, git называет её базовый каталог
F) C:\users\OddThinking\Documents\My Source\Widget\foo.src
путь от вершины дерева до листа
. относительный путь
G) C:\users\OddThinking\Documents\My Source\Виджет\foo.src
один узел дерева
. никакой конвенции, может быть простой каталог
H) C:\users\OddThinking\Documents\My Source\Widget\foo.src
I) C:\users\OddThinking\Documents\My Source\Widget\foo.src